PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.2.1
MxChat – AI Chatbot & Content Generation for WordPress v2.2.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
← All changes | css/knowledge-style.css +12 -1375 3.2.102.2.1 View file →
@@ -195,14 +195,8 @@
195 195 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.1);
196 196 transform: translateY(-4px);
197 197 }
198 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 199 .mxchat-import-wordpress {
206 200 border: 2px solid #7873f5;
207 201 background-color: #f8f9ff;
208 202 }
@@ -266,13 +260,8 @@
266 260 border: 1px solid #e5e5e5;
267 261 text-align: center;
268 262 }
269 263
270 -/* PDF Upload Area */
271 -#mxchat-pdf-upload-area input[type="file"] {
272 - margin-bottom: 12px;
273 -}
274 -
275 264 .mxchat-url-input-group {
276 265 display: flex;
277 266 gap: 12px;
278 267 max-width: 800px;
@@ -665,9 +654,9 @@
665 654 }
666 655
667 656 /* ===== Search ===== */
668 657 .mxchat-search-form {
669 - display: flex;
658 + position: relative;
670 659 }
671 660
672 661 .mxchat-search-group {
673 662 position: relative;
@@ -685,42 +674,8 @@
685 674 padding-left: 40px;
686 675 width: 300px;
687 676 }
688 677
689 -/* ADDED 2.5.6: Content Type Filter Styles */
690 -.mxchat-filter-group {
691 - position: relative;
692 - display: flex;
693 - align-items: center;
694 - margin-left: 12px;
695 -}
696 -
697 -.mxchat-filter-group select {
698 - padding: 8px 32px 8px 12px;
699 - border: 1px solid #ddd;
700 - border-radius: 8px;
701 - background: white;
702 - color: #333;
703 - font-size: 14px;
704 - cursor: pointer;
705 - transition: all 0.2s ease;
706 - appearance: none;
707 - 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");
708 - background-repeat: no-repeat;
709 - background-position: right 12px center;
710 -}
711 -
712 -.mxchat-filter-group select:hover {
713 - border-color: #7873f5;
714 - box-shadow: 0 2px 8px rgba(120, 115, 245, 0.1);
715 -}
716 -
717 -.mxchat-filter-group select:focus {
718 - outline: none;
719 - border-color: #7873f5;
720 - box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
721 -}
722 -
723 678 /* ===== Buttons ===== */
724 679 .mxchat-button-primary {
725 680 background: linear-gradient(135deg, #fa73e6, #7873f5);
726 681 border: none;
@@ -890,14 +845,8 @@
890 845 text-align: left;
891 846 border-bottom: 2px solid rgba(120, 115, 245, 0.1);
892 847 }
893 848
894 -/* Hide ID column (now second column, after checkbox column) */
895 -.mxchat-records-table th:nth-child(2),
896 -.mxchat-records-table td:nth-child(2) {
897 - display: none;
898 -}
899 -
900 849 .mxchat-records-table td {
901 850 padding: 15px;
902 851 border-top: 1px solid rgba(120, 115, 245, 0.1);
903 852 vertical-align: top;
@@ -907,110 +856,11 @@
907 856 background: rgba(120, 115, 245, 0.03);
908 857 }
909 858
910 859 .mxchat-content-cell {
911 - max-width: 600px;
860 + max-width: 400px;
912 861 }
913 862
914 -/* ===== Accordion Styles ===== */
915 -.mxchat-accordion-wrapper {
916 - width: 100%;
917 -}
918 -
919 -.mxchat-content-preview {
920 - display: flex;
921 - align-items: center;
922 - gap: 12px;
923 - padding: 8px 12px;
924 - border-radius: 6px;
925 - transition: all 0.2s ease;
926 -}
927 -
928 -/* Only make it look clickable if there's an expand button */
929 -.mxchat-content-preview:has(.mxchat-expand-toggle) {
930 - cursor: pointer;
931 -}
932 -
933 -.mxchat-content-preview:has(.mxchat-expand-toggle):hover {
934 - background: rgba(120, 115, 245, 0.04);
935 -}
936 -
937 -.mxchat-content-preview .preview-text {
938 - flex: 1;
939 - font-size: 14px;
940 - line-height: 1.6;
941 - color: #333;
942 - overflow: hidden;
943 -}
944 -
945 -.mxchat-expand-toggle {
946 - flex-shrink: 0;
947 - width: 28px;
948 - height: 28px;
949 - border: none;
950 - background: linear-gradient(135deg, rgba(250, 115, 230, 0.1), rgba(120, 115, 245, 0.1));
951 - border-radius: 6px;
952 - cursor: pointer;
953 - display: inline-flex;
954 - align-items: center;
955 - justify-content: center;
956 - transition: all 0.3s ease;
957 - padding: 0;
958 -}
959 -
960 -.mxchat-expand-toggle:hover {
961 - background: linear-gradient(135deg, rgba(250, 115, 230, 0.2), rgba(120, 115, 245, 0.2));
962 - transform: scale(1.05);
963 -}
964 -
965 -.mxchat-expand-toggle .dashicons {
966 - font-size: 18px;
967 - width: 18px;
968 - height: 18px;
969 - color: #7873f5;
970 - transition: transform 0.3s ease;
971 -}
972 -
973 -.mxchat-expand-toggle.expanded .dashicons {
974 - transform: rotate(180deg);
975 -}
976 -
977 -.mxchat-content-full {
978 - margin-top: 12px;
979 - padding: 16px;
980 - background: rgba(120, 115, 245, 0.03);
981 - border-radius: 8px;
982 - border-left: 3px solid #7873f5;
983 - animation: slideDown 0.3s ease;
984 -}
985 -
986 -@keyframes slideDown {
987 - from {
988 - opacity: 0;
989 - max-height: 0;
990 - transform: translateY(-10px);
991 - }
992 - to {
993 - opacity: 1;
994 - max-height: 1000px;
995 - transform: translateY(0);
996 - }
997 -}
998 -
999 -.mxchat-content-full .content-view {
1000 - font-size: 14px;
1001 - line-height: 1.6;
1002 - color: #333;
1003 -}
1004 -
1005 -.mxchat-content-full .content-view p {
1006 - margin: 0 0 12px 0;
1007 -}
1008 -
1009 -.mxchat-content-full .content-view p:last-child {
1010 - margin-bottom: 0;
1011 -}
1012 -
1013 863 .mxchat-url-cell a {
1014 864 color: #7873f5;
1015 865 text-decoration: none;
1016 866 display: flex;
@@ -1027,9 +877,13 @@
1027 877 display: flex;
1028 878 gap: 8px;
1029 879 }
1030 880
1031 -/* Legacy content-view styling (now within accordion) */
881 +.content-view {
882 + font-size: 14px;
883 + line-height: 1.5;
884 +}
885 +
1032 886 .content-edit {
1033 887 width: 100%;
1034 888 min-height: 100px;
1035 889 border: 1px solid #ddd;
@@ -1550,28 +1404,14 @@
1550 1404 .mxchat-kb-modal-footer {
1551 1405 padding: 15px 20px;
1552 1406 border-top: 1px solid #e5e5e5;
1553 1407 display: flex;
1554 - justify-content: space-between;
1555 - align-items: center;
1556 - gap: 15px;
1408 + justify-content: flex-end;
1409 + gap: 10px;
1557 1410 background-color: #f8f9fa;
1558 1411 border-radius: 0 0 8px 8px;
1559 1412 }
1560 1413
1561 -.mxchat-kb-modal-footer .mxchat-kb-pagination {
1562 - flex: 1;
1563 - margin: 0;
1564 - padding: 0;
1565 - text-align: left;
1566 -}
1567 -
1568 -.mxchat-kb-footer-actions {
1569 - display: flex;
1570 - gap: 10px;
1571 - flex-shrink: 0;
1572 -}
1573 -
1574 1414 .mxchat-kb-button-primary,
1575 1415 .mxchat-kb-button-secondary {
1576 1416 padding: 8px 15px;
1577 1417 border-radius: 4px;
@@ -1821,19 +1661,9 @@
1821 1661
1822 1662 .mxchat-search-group input {
1823 1663 width: 100%;
1824 1664 }
1825 -
1826 - /* ADDED 2.5.6: Responsive filter dropdown */
1827 - .mxchat-filter-group {
1828 - margin-left: 0;
1829 - width: 100%;
1830 - }
1831 -
1832 - .mxchat-filter-group select {
1833 - width: 100%;
1834 - }
1835 -
1665 +
1836 1666 .mxchat-url-input-group {
1837 1667 flex-direction: column;
1838 1668 }
1839 1669
@@ -1877,22 +1707,11 @@
1877 1707 }
1878 1708
1879 1709 .mxchat-kb-modal-footer {
1880 1710 flex-direction: column;
1881 - gap: 10px;
1882 1711 }
1883 -
1884 - .mxchat-kb-modal-footer .mxchat-kb-pagination {
1885 - width: 100%;
1886 - text-align: center;
1887 - }
1888 -
1889 - .mxchat-kb-footer-actions {
1890 - width: 100%;
1891 - flex-direction: column;
1892 - }
1893 -
1894 - .mxchat-kb-button-primary,
1712 +
1713 + .mxchat-kb-button-primary,
1895 1714 .mxchat-kb-button-secondary {
1896 1715 width: 100%;
1897 1716 }
1898 1717
@@ -2673,1186 +2492,4 @@
2673 2492 margin-bottom: 0;
2674 2493 color: #666;
2675 2494 }
2676 2495
2677 -
2678 -
2679 -/* ===== Role-Based Content Restrictions Styles ===== */
2680 -
2681 -/* Role mapping form */
2682 -.mxchat-role-mapping-form {
2683 - margin-top: 20px;
2684 - padding: 20px;
2685 - background-color: #f8f9ff;
2686 - border-radius: 8px;
2687 - border: 1px solid rgba(120, 115, 245, 0.1);
2688 -}
2689 -
2690 -.mxchat-role-mapping-form h4 {
2691 - margin-top: 0;
2692 - margin-bottom: 15px;
2693 - font-size: 16px;
2694 - color: #333;
2695 -}
2696 -
2697 -.mxchat-form-row {
2698 - display: flex;
2699 - gap: 15px;
2700 - align-items: flex-end;
2701 - margin-bottom: 20px;
2702 -}
2703 -
2704 -/* Role mappings table */
2705 -.mxchat-mappings-table {
2706 - width: 100%;
2707 - border-collapse: collapse;
2708 - margin-top: 15px;
2709 - background: #fff;
2710 - box-shadow: 0 1px 3px rgba(120, 115, 245, 0.08);
2711 - border-radius: 8px;
2712 - overflow: hidden;
2713 -}
2714 -
2715 -.mxchat-mappings-table th,
2716 -.mxchat-mappings-table td {
2717 - padding: 15px;
2718 - text-align: left;
2719 - border-bottom: 1px solid rgba(120, 115, 245, 0.1);
2720 -}
2721 -
2722 -.mxchat-mappings-table th {
2723 - background: #f8f9ff;
2724 - font-weight: 600;
2725 - color: #333;
2726 - font-size: 14px;
2727 -}
2728 -
2729 -.mxchat-mappings-table tbody tr {
2730 - transition: background-color 0.2s ease;
2731 -}
2732 -
2733 -.mxchat-mappings-table tbody tr:hover {
2734 - background: rgba(120, 115, 245, 0.03);
2735 -}
2736 -
2737 -.mxchat-mappings-table tbody tr:last-child td {
2738 - border-bottom: none;
2739 -}
2740 -
2741 -/* Tag and role badges */
2742 -.mxchat-tag-badge {
2743 - display: inline-flex;
2744 - align-items: center;
2745 - gap: 5px;
2746 - padding: 5px 12px;
2747 - background: linear-gradient(135deg, #fa73e6, #7873f5);
2748 - color: #fff;
2749 - border-radius: 4px;
2750 - font-size: 13px;
2751 - font-weight: 500;
2752 -}
2753 -
2754 -.mxchat-tag-badge .dashicons {
2755 - font-size: 16px;
2756 - width: 16px;
2757 - height: 16px;
2758 -}
2759 -
2760 -.mxchat-role-badge {
2761 - display: inline-block;
2762 - padding: 5px 12px;
2763 - background: #f0f0f1;
2764 - color: #2c3338;
2765 - border-radius: 4px;
2766 - font-size: 13px;
2767 - font-weight: 500;
2768 -}
2769 -
2770 -/* Role-specific badge colors */
2771 -.mxchat-role-badge.public {
2772 - background: #e8f5e9;
2773 - color: #2e7d32;
2774 -}
2775 -
2776 -.mxchat-role-badge.logged_in {
2777 - background: #e3f2fd;
2778 - color: #1565c0;
2779 -}
2780 -
2781 -.mxchat-role-badge.subscriber {
2782 - background: #f3e5f5;
2783 - color: #7b1fa2;
2784 -}
2785 -
2786 -.mxchat-role-badge.contributor {
2787 - background: #fff3e0;
2788 - color: #e65100;
2789 -}
2790 -
2791 -.mxchat-role-badge.author {
2792 - background: #fff9c4;
2793 - color: #f57f17;
2794 -}
2795 -
2796 -.mxchat-role-badge.editor {
2797 - background: #fce4ec;
2798 - color: #c2185b;
2799 -}
2800 -
2801 -.mxchat-role-badge.administrator {
2802 - background: #ffebee;
2803 - color: #c62828;
2804 -}
2805 -
2806 -/* Mapping actions */
2807 -.mxchat-mapping-actions {
2808 - display: flex;
2809 - gap: 8px;
2810 - align-items: center;
2811 -}
2812 -
2813 -.mxchat-delete-mapping {
2814 - color: #d63638;
2815 - cursor: pointer;
2816 - padding: 6px 10px;
2817 - border-radius: 4px;
2818 - transition: all 0.2s ease;
2819 - display: inline-flex;
2820 - align-items: center;
2821 - gap: 4px;
2822 - background: transparent;
2823 - border: none;
2824 - font-size: 13px;
2825 -}
2826 -
2827 -.mxchat-delete-mapping:hover {
2828 - background: #fef0f0;
2829 - color: #b32d2e;
2830 -}
2831 -
2832 -.mxchat-delete-mapping .dashicons {
2833 - font-size: 18px;
2834 - width: 18px;
2835 - height: 18px;
2836 -}
2837 -
2838 -/* Post count display */
2839 -.mxchat-post-count {
2840 - color: #666;
2841 - font-size: 13px;
2842 - display: flex;
2843 - align-items: center;
2844 - gap: 4px;
2845 -}
2846 -
2847 -.mxchat-post-count .dashicons {
2848 - font-size: 16px;
2849 - width: 16px;
2850 - height: 16px;
2851 - color: #7873f5;
2852 -}
2853 -
2854 -/* Loading state for mappings */
2855 -.mxchat-loading-mappings {
2856 - text-align: center;
2857 - padding: 40px;
2858 - color: #666;
2859 -}
2860 -
2861 -.mxchat-role-spinner {
2862 - display: inline-block;
2863 - width: 20px;
2864 - height: 20px;
2865 - border: 2px solid rgba(120, 115, 245, 0.2);
2866 - border-top: 2px solid #7873f5;
2867 - border-radius: 50%;
2868 - animation: mxchat-role-spin 1s linear infinite;
2869 - margin-right: 10px;
2870 -}
2871 -
2872 -.mxchat-role-spinner.is-active {
2873 - display: inline-block;
2874 -}
2875 -
2876 -@keyframes mxchat-role-spin {
2877 - 0% { transform: rotate(0deg); }
2878 - 100% { transform: rotate(360deg); }
2879 -}
2880 -
2881 -/* Empty state */
2882 -#mxchat-no-mappings {
2883 - text-align: center;
2884 - padding: 40px;
2885 - color: #666;
2886 -}
2887 -
2888 -#mxchat-no-mappings .dashicons {
2889 - font-size: 48px;
2890 - opacity: 0.3;
2891 - margin-bottom: 15px;
2892 - display: block;
2893 -}
2894 -
2895 -#mxchat-no-mappings p {
2896 - margin: 0;
2897 - font-size: 14px;
2898 -}
2899 -
2900 -/* Bulk update section */
2901 -.mxchat-bulk-update-section {
2902 - margin-top: 30px;
2903 - padding-top: 30px;
2904 - border-top: 1px solid rgba(120, 115, 245, 0.1);
2905 -}
2906 -
2907 -.mxchat-bulk-update-section h4 {
2908 - margin-top: 0;
2909 - margin-bottom: 10px;
2910 - font-size: 16px;
2911 - color: #333;
2912 -}
2913 -
2914 -.mxchat-bulk-update-controls {
2915 - margin-top: 15px;
2916 -}
2917 -
2918 -#mxchat-bulk-update-roles {
2919 - display: inline-flex;
2920 - align-items: center;
2921 - gap: 8px;
2922 -}
2923 -
2924 -#mxchat-bulk-update-progress {
2925 - max-width: 600px;
2926 -}
2927 -
2928 -#mxchat-bulk-update-progress .mxchat-progress-bar {
2929 - height: 10px;
2930 - background: rgba(120, 115, 245, 0.1);
2931 - border-radius: 5px;
2932 - overflow: hidden;
2933 -}
2934 -
2935 -#mxchat-bulk-update-progress .mxchat-progress-fill {
2936 - height: 100%;
2937 - background: linear-gradient(135deg, #fa73e6, #7873f5);
2938 - transition: width 0.3s ease;
2939 -}
2940 -
2941 -.mxchat-progress-text {
2942 - margin-top: 10px;
2943 - color: #666;
2944 - font-size: 14px;
2945 -}
2946 -
2947 -/* Bulk update results */
2948 -#mxchat-bulk-update-result {
2949 - margin-top: 15px;
2950 - padding: 15px;
2951 - border-radius: 8px;
2952 -}
2953 -
2954 -#mxchat-bulk-update-result.success {
2955 - background-color: #f0f9eb;
2956 - border-left: 4px solid #67c23a;
2957 - color: #3c763d;
2958 -}
2959 -
2960 -#mxchat-bulk-update-result.error {
2961 - background-color: #fef0f0;
2962 - border-left: 4px solid #d63638;
2963 - color: #a94442;
2964 -}
2965 -
2966 -#mxchat-bulk-update-result h5 {
2967 - margin: 0 0 10px;
2968 - font-size: 15px;
2969 - font-weight: 600;
2970 -}
2971 -
2972 -#mxchat-bulk-update-result p {
2973 - margin: 5px 0;
2974 - font-size: 14px;
2975 -}
2976 -
2977 -/* Role mappings list container */
2978 -.mxchat-role-mappings-list {
2979 - margin-top: 25px;
2980 -}
2981 -
2982 -.mxchat-role-mappings-list h4 {
2983 - margin-top: 0;
2984 - margin-bottom: 15px;
2985 - font-size: 16px;
2986 - color: #333;
2987 -}
2988 -
2989 -/* Info banner styling (reuse existing pattern) */
2990 -.mxchat-role-info-banner {
2991 - display: flex;
2992 - align-items: center;
2993 - gap: 10px;
2994 - padding: 12px 16px;
2995 - margin-bottom: 20px;
2996 - border-radius: 6px;
2997 - font-size: 14px;
2998 - background: #f8f9ff;
2999 - border-left: 4px solid #7873f5;
3000 - color: #333;
3001 -}
3002 -
3003 -.mxchat-role-info-banner .dashicons {
3004 - color: #7873f5;
3005 - font-size: 18px;
3006 -}
3007 -
3008 -/* Responsive adjustments */
3009 -@media screen and (max-width: 782px) {
3010 - .mxchat-form-row {
3011 - flex-direction: column;
3012 - align-items: stretch;
3013 - }
3014 -
3015 - .mxchat-form-row .mxchat-form-group {
3016 - flex: 1;
3017 - max-width: none;
3018 - }
3019 -
3020 - .mxchat-form-row > div {
3021 - padding-bottom: 0;
3022 - }
3023 -
3024 - .mxchat-mappings-table {
3025 - display: block;
3026 - overflow-x: auto;
3027 - }
3028 -
3029 - .mxchat-mappings-table th,
3030 - .mxchat-mappings-table td {
3031 - padding: 10px;
3032 - font-size: 13px;
3033 - }
3034 -
3035 - .mxchat-mapping-actions {
3036 - flex-direction: column;
3037 - align-items: flex-start;
3038 - }
3039 -}
3040 -
3041 -/* RTL Support */
3042 -.rtl .mxchat-mappings-table th,
3043 -.rtl .mxchat-mappings-table td {
3044 - text-align: right;
3045 -}
3046 -
3047 -.rtl .mxchat-tag-badge {
3048 - flex-direction: row-reverse;
3049 -}
3050 -
3051 -.rtl .mxchat-role-info-banner {
3052 - border-left: none;
3053 - border-right: 4px solid #7873f5;
3054 -}
3055 -
3056 -.rtl .mxchat-bulk-update-section {
3057 - border-right: none;
3058 -}
3059 -
3060 -.rtl #mxchat-bulk-update-result {
3061 - border-left: none;
3062 - border-right: 4px solid;
3063 -}
3064 -
3065 -.rtl .mxchat-role-spinner {
3066 - margin-right: 0;
3067 - margin-left: 10px;
3068 -}
3069 -
3070 -/* ===== Chunk Grouping Styles ===== */
3071 -.mxchat-chunk-group-header {
3072 - background: rgba(120, 115, 245, 0.04) !important;
3073 - border-left: 3px solid #7873f5;
3074 -}
3075 -
3076 -.mxchat-chunk-group-header:hover {
3077 - background: rgba(120, 115, 245, 0.08) !important;
3078 -}
3079 -
3080 -.mxchat-chunk-group-info {
3081 - display: flex;
3082 - align-items: center;
3083 - gap: 12px;
3084 -}
3085 -
3086 -.mxchat-chunk-toggle {
3087 - flex-shrink: 0;
3088 - width: 28px;
3089 - height: 28px;
3090 - border: none;
3091 - background: linear-gradient(135deg, rgba(250, 115, 230, 0.1), rgba(120, 115, 245, 0.1));
3092 - border-radius: 6px;
3093 - cursor: pointer;
3094 - display: inline-flex;
3095 - align-items: center;
3096 - justify-content: center;
3097 - transition: all 0.3s ease;
3098 - padding: 0;
3099 -}
3100 -
3101 -.mxchat-chunk-toggle:hover {
3102 - background: linear-gradient(135deg, rgba(250, 115, 230, 0.2), rgba(120, 115, 245, 0.2));
3103 - transform: scale(1.05);
3104 -}
3105 -
3106 -.mxchat-chunk-toggle .dashicons {
3107 - font-size: 16px;
3108 - color: #7873f5;
3109 - transition: transform 0.3s ease;
3110 -}
3111 -
3112 -.mxchat-chunk-toggle.expanded .dashicons {
3113 - transform: rotate(90deg);
3114 -}
3115 -
3116 -.mxchat-chunk-badge {
3117 - display: inline-flex;
3118 - align-items: center;
3119 - padding: 4px 10px;
3120 - background: linear-gradient(135deg, #7873f5, #3ac9d1);
3121 - color: white;
3122 - border-radius: 12px;
3123 - font-size: 12px;
3124 - font-weight: 600;
3125 - white-space: nowrap;
3126 -}
3127 -
3128 -.mxchat-chunk-preview {
3129 - flex: 1;
3130 - color: #666;
3131 - font-size: 13px;
3132 - overflow: hidden;
3133 - text-overflow: ellipsis;
3134 - white-space: nowrap;
3135 -}
3136 -
3137 -.mxchat-chunk-row {
3138 - border-left: 3px solid #e0e0e0;
3139 -}
3140 -
3141 -.mxchat-chunk-row td:first-child {
3142 - padding-left: 30px !important;
3143 -}
3144 -
3145 -.mxchat-chunk-indicator {
3146 - display: inline-flex;
3147 - align-items: center;
3148 - padding: 2px 8px;
3149 - background: #f0f0f0;
3150 - color: #666;
3151 - border-radius: 4px;
3152 - font-size: 11px;
3153 - font-weight: 500;
3154 -}
3155 -
3156 -.mxchat-chunk-label {
3157 - color: #999;
3158 - font-size: 12px;
3159 - font-style: italic;
3160 -}
3161 -
3162 -/* Delete button for chunk groups */
3163 -.delete-button-group {
3164 - background: none;
3165 - border: none;
3166 - cursor: pointer;
3167 - padding: 4px;
3168 - border-radius: 4px;
3169 - transition: all 0.2s ease;
3170 -}
3171 -
3172 -.delete-button-group:hover {
3173 - background: rgba(255, 0, 0, 0.1);
3174 -}
3175 -
3176 -.delete-button-group .dashicons {
3177 - color: #dc3545;
3178 -}
3179 -
3180 -.delete-button-group .dashicons.spin {
3181 - animation: mxchat-spin 1s linear infinite;
3182 -}
3183 -
3184 -@keyframes mxchat-spin {
3185 - from { transform: rotate(0deg); }
3186 - to { transform: rotate(360deg); }
3187 -}
3188 -
3189 -/* ===== Sitemap Detection Styles ===== */
3190 -.dashicons.spin {
3191 - animation: mxchat-spin 1s linear infinite;
3192 -}
3193 -
3194 -.mxchat-sitemap-group.expanded .mxchat-sitemap-sub-list {
3195 - display: block !important;
3196 -}
3197 -
3198 -.mxchat-sitemap-group.expanded .dashicons-arrow-right-alt2 {
3199 - transform: rotate(90deg) !important;
3200 -}
3201 -
3202 -.mxchat-sitemap-row:last-child {
3203 - border-bottom: none !important;
3204 -}
3205 -
3206 -.mxchat-detected-sitemaps {
3207 - margin-top: 24px;
3208 -}
3209 -
3210 -.mxchat-sitemaps-header {
3211 - display: flex;
3212 - align-items: center;
3213 - justify-content: space-between;
3214 - margin-bottom: 16px;
3215 -}
3216 -
3217 -.mxchat-sitemaps-header h4 {
3218 - margin: 0;
3219 - display: flex;
3220 - align-items: center;
3221 - gap: 8px;
3222 -}
3223 -
3224 -.mxchat-sitemaps-header h4 .dashicons {
3225 - color: #7873f5;
3226 -}
3227 -
3228 -.mxchat-sitemap-group {
3229 - margin-bottom: 16px;
3230 - border: 1px solid rgba(120, 115, 245, 0.2);
3231 - border-radius: 8px;
3232 - overflow: hidden;
3233 -}
3234 -
3235 -.mxchat-sitemap-group-header {
3236 - padding: 12px 16px;
3237 - background: #f8fafc;
3238 - display: flex;
3239 - align-items: center;
3240 - justify-content: space-between;
3241 - cursor: pointer;
3242 - transition: background-color 0.2s ease;
3243 -}
3244 -
3245 -.mxchat-sitemap-group-header:hover {
3246 - background: #f0f4f8;
3247 -}
3248 -
3249 -.mxchat-sitemap-sub-list {
3250 - display: none;
3251 - border-top: 1px solid rgba(120, 115, 245, 0.2);
3252 -}
3253 -
3254 -.mxchat-sitemap-row {
3255 - padding: 12px 16px;
3256 - display: flex;
3257 - align-items: center;
3258 - justify-content: space-between;
3259 - border-bottom: 1px solid rgba(120, 115, 245, 0.1);
3260 -}
3261 -
3262 -.mxchat-sitemap-row.sub-item {
3263 - padding-left: 40px;
3264 -}
3265 -
3266 -.mxchat-sitemaps-loading {
3267 - margin-top: 24px;
3268 - padding: 20px;
3269 - text-align: center;
3270 -}
3271 -
3272 -.mxchat-sitemaps-loading .dashicons {
3273 - font-size: 20px;
3274 - color: #7873f5;
3275 -}
3276 -
3277 -.mxchat-sitemaps-loading p {
3278 - margin: 8px 0 0;
3279 - color: #666;
3280 -}
3281 -
3282 -.mxchat-no-sitemaps {
3283 - margin-top: 24px;
3284 - padding: 20px;
3285 - background: #f8fafc;
3286 - border-radius: 8px;
3287 - text-align: center;
3288 -}
3289 -
3290 -.mxchat-no-sitemaps .dashicons {
3291 - font-size: 24px;
3292 - color: #999;
3293 - margin-bottom: 8px;
3294 -}
3295 -
3296 -.mxchat-no-sitemaps p {
3297 - margin: 0;
3298 - color: #666;
3299 -}
3300 -
3301 -/* ===== Admin Notice Dismiss Button Styles ===== */
3302 -.notice.is-dismissible {
3303 - position: relative;
3304 - padding-right: 38px;
3305 -}
3306 -
3307 -.notice-dismiss {
3308 - position: absolute;
3309 - top: 50%;
3310 - right: 8px;
3311 - transform: translateY(-50%);
3312 - padding: 0;
3313 - background: none;
3314 - border: none;
3315 - cursor: pointer;
3316 - color: #787c82;
3317 - width: 24px;
3318 - height: 24px;
3319 - display: flex;
3320 - align-items: center;
3321 - justify-content: center;
3322 - transition: color 0.2s ease;
3323 -}
3324 -
3325 -.notice-dismiss:hover {
3326 - color: #d63638;
3327 -}
3328 -
3329 -.notice-dismiss:before {
3330 - content: "\f153";
3331 - font-family: dashicons;
3332 - font-size: 16px;
3333 - line-height: 1;
3334 -}
3335 -
3336 -.notice-dismiss .screen-reader-text {
3337 - position: absolute;
3338 - width: 1px;
3339 - height: 1px;
3340 - padding: 0;
3341 - margin: -1px;
3342 - overflow: hidden;
3343 - clip: rect(0, 0, 0, 0);
3344 - white-space: nowrap;
3345 - border: 0;
3346 -}
3347 -
3348 -/* ===== AJAX Pagination Styles ===== */
3349 -.mxchat-kb-pagination-wrapper {
3350 - background: #f8fafc;
3351 -}
3352 -
3353 -.mxchat-ajax-pagination {
3354 - display: flex;
3355 - align-items: center;
3356 - justify-content: center;
3357 - gap: 8px;
3358 - flex-wrap: wrap;
3359 -}
3360 -
3361 -.mxchat-page-link {
3362 - display: inline-flex;
3363 - align-items: center;
3364 - justify-content: center;
3365 - min-width: 36px;
3366 - height: 36px;
3367 - padding: 0 12px;
3368 - background: #fff;
3369 - border: 1px solid var(--mxch-card-border, #e5e7eb);
3370 - border-radius: 6px;
3371 - color: var(--mxch-text-primary, #1f2937);
3372 - text-decoration: none;
3373 - font-size: 13px;
3374 - font-weight: 500;
3375 - transition: all 0.2s ease;
3376 - cursor: pointer;
3377 -}
3378 -
3379 -.mxchat-page-link:hover {
3380 - background: var(--mxch-primary, #7873f5);
3381 - border-color: var(--mxch-primary, #7873f5);
3382 - color: #fff;
3383 - text-decoration: none;
3384 -}
3385 -
3386 -.mxchat-page-link.loading {
3387 - opacity: 0.6;
3388 - pointer-events: none;
3389 -}
3390 -
3391 -.mxchat-page-current {
3392 - display: inline-flex;
3393 - align-items: center;
3394 - justify-content: center;
3395 - min-width: 36px;
3396 - height: 36px;
3397 - padding: 0 12px;
3398 - background: var(--mxch-primary, #7873f5);
3399 - border: 1px solid var(--mxch-primary, #7873f5);
3400 - border-radius: 6px;
3401 - color: #fff;
3402 - font-size: 13px;
3403 - font-weight: 600;
3404 -}
3405 -
3406 -.mxchat-page-dots {
3407 - display: inline-flex;
3408 - align-items: center;
3409 - justify-content: center;
3410 - min-width: 24px;
3411 - height: 36px;
3412 - color: var(--mxch-text-muted, #9ca3af);
3413 - font-size: 14px;
3414 -}
3415 -
3416 -.mxchat-pagination-loading {
3417 - margin-left: 12px;
3418 -}
3419 -
3420 -.mxchat-pagination-loading .dashicons {
3421 - color: var(--mxch-primary, #7873f5);
3422 -}
3423 -
3424 -/* Spin animation for loading indicator */
3425 -@keyframes mxchat-spin {
3426 - from { transform: rotate(0deg); }
3427 - to { transform: rotate(360deg); }
3428 -}
3429 -
3430 -.mxchat-pagination-loading .spin,
3431 -.mxchat-ajax-pagination .spin {
3432 - animation: mxchat-spin 1s linear infinite;
3433 -}
3434 -
3435 -/* Mobile responsive pagination */
3436 -@media (max-width: 600px) {
3437 - .mxchat-ajax-pagination {
3438 - gap: 4px;
3439 - }
3440 -
3441 - .mxchat-page-link,
3442 - .mxchat-page-current {
3443 - min-width: 32px;
3444 - height: 32px;
3445 - padding: 0 8px;
3446 - font-size: 12px;
3447 - }
3448 -
3449 - .mxchat-page-dots {
3450 - min-width: 20px;
3451 - }
3452 -}
3453 -
3454 -/* ========================================
3455 - BULK SELECTION STYLES
3456 - ======================================== */
3457 -
3458 -/* Bulk Actions Toolbar */
3459 -.mxchat-bulk-toolbar {
3460 - display: flex;
3461 - align-items: center;
3462 - gap: 12px;
3463 - padding: 12px 16px;
3464 - background: #f8fafc;
3465 - border: 1px solid var(--mxch-card-border);
3466 - border-bottom: none;
3467 - border-radius: var(--mxch-radius-md) var(--mxch-radius-md) 0 0;
3468 -}
3469 -
3470 -.mxchat-bulk-select-label {
3471 - display: flex;
3472 - align-items: center;
3473 - gap: 6px;
3474 - font-size: 13px;
3475 - color: var(--mxch-text-secondary);
3476 - cursor: pointer;
3477 -}
3478 -
3479 -.mxchat-bulk-select-label:hover {
3480 - color: var(--mxch-text-primary);
3481 -}
3482 -
3483 -.mxchat-entry-checkbox,
3484 -.mxchat-entry-checkbox-all {
3485 - width: 16px;
3486 - height: 16px;
3487 - cursor: pointer;
3488 - accent-color: var(--mxch-primary, #7873f5);
3489 -}
3490 -
3491 -.mxchat-bulk-actions {
3492 - display: flex;
3493 - align-items: center;
3494 - gap: 8px;
3495 - margin-left: auto;
3496 -}
3497 -
3498 -.mxchat-bulk-delete {
3499 - display: flex;
3500 - align-items: center;
3501 - gap: 6px;
3502 - color: var(--mxch-error, #dc2626) !important;
3503 - border-color: #fecaca !important;
3504 - background: transparent !important;
3505 -}
3506 -
3507 -.mxchat-bulk-delete:hover:not(:disabled) {
3508 - background: #fef2f2 !important;
3509 - border-color: #fca5a5 !important;
3510 -}
3511 -
3512 -.mxchat-bulk-delete:disabled {
3513 - opacity: 0.5;
3514 - cursor: not-allowed;
3515 -}
3516 -
3517 -.mxchat-selected-count {
3518 - font-size: 12px;
3519 - color: var(--mxch-primary, #7873f5);
3520 - font-weight: 600;
3521 - margin-left: 4px;
3522 -}
3523 -
3524 -/* Delete container - holds Delete All form and Delete Selected button */
3525 -.mxchat-delete-container {
3526 - display: flex;
3527 - align-items: center;
3528 -}
3529 -
3530 -/* Selected row highlighting */
3531 -#mxchat-records-table tr.selected {
3532 - background-color: rgba(120, 115, 245, 0.05) !important;
3533 -}
3534 -
3535 -#mxchat-records-table tr.selected td:first-child {
3536 - position: relative;
3537 -}
3538 -
3539 -#mxchat-records-table tr.selected td:first-child::before {
3540 - content: '';
3541 - position: absolute;
3542 - left: 0;
3543 - top: 0;
3544 - bottom: 0;
3545 - width: 3px;
3546 - background: var(--mxch-primary, #7873f5);
3547 -}
3548 -
3549 -/* Deleting state */
3550 -tr.mxchat-row-deleting {
3551 - opacity: 0.5;
3552 - pointer-events: none;
3553 -}
3554 -
3555 -/* Error state for failed deletions */
3556 -tr.mxchat-row-error {
3557 - background-color: rgba(220, 38, 38, 0.05) !important;
3558 -}
3559 -
3560 -tr.mxchat-row-error td:first-child {
3561 - position: relative;
3562 -}
3563 -
3564 -tr.mxchat-row-error td:first-child::before {
3565 - content: '';
3566 - position: absolute;
3567 - left: 0;
3568 - top: 0;
3569 - bottom: 0;
3570 - width: 3px;
3571 - background: var(--mxch-error, #dc2626);
3572 -}
3573 -
3574 -/* Spin animation for loading states */
3575 -.spin {
3576 - animation: mxchat-spin 1s linear infinite;
3577 -}
3578 -
3579 -/* Responsive adjustments for bulk toolbar */
3580 -@media (max-width: 768px) {
3581 - .mxchat-bulk-toolbar {
3582 - flex-wrap: wrap;
3583 - gap: 8px;
3584 - }
3585 -
3586 - .mxchat-bulk-delete-text {
3587 - display: none;
3588 - }
3589 -
3590 - .mxchat-bulk-actions {
3591 - margin-left: 0;
3592 - }
3593 -}
3594 -
3595 -/* ==========================================================================
3596 - Knowledge Base - Mobile Responsive
3597 - ========================================================================== */
3598 -
3599 -/* Desktop defaults for KB header controls */
3600 -.mxch-kb-header-controls {
3601 - display: flex;
3602 - gap: 10px;
3603 - align-items: center;
3604 -}
3605 -
3606 -.mxch-kb-search-form {
3607 - display: flex;
3608 - gap: 10px;
3609 -}
3610 -
3611 -.mxch-kb-search-input {
3612 - width: 200px;
3613 -}
3614 -
3615 -.mxch-kb-type-filter {
3616 - width: auto;
3617 -}
3618 -
3619 -/* Mobile: Knowledge Base card header stacks vertically */
3620 -@media screen and (max-width: 960px) {
3621 - /* Stack card header vertically */
3622 - #knowledge-base .mxch-card-header {
3623 - flex-direction: column;
3624 - align-items: stretch;
3625 - gap: 12px;
3626 - padding: 12px 16px;
3627 - }
3628 -
3629 - /* Title row wraps badges */
3630 - #knowledge-base .mxch-card-title {
3631 - flex-wrap: wrap;
3632 - font-size: 14px;
3633 - }
3634 -
3635 - /* Controls stack vertically */
3636 - .mxch-kb-header-controls {
3637 - flex-direction: column;
3638 - align-items: stretch;
3639 - gap: 8px;
3640 - width: 100%;
3641 - }
3642 -
3643 - /* Search form wraps */
3644 - .mxch-kb-search-form {
3645 - flex-wrap: wrap;
3646 - gap: 8px;
3647 - width: 100%;
3648 - }
3649 -
3650 - /* Search input takes full width */
3651 - .mxch-kb-search-input {
3652 - width: 100% !important;
3653 - flex: 1;
3654 - min-width: 0;
3655 - }
3656 -
3657 - /* Filter dropdown takes full width */
3658 - .mxch-kb-type-filter {
3659 - width: 100% !important;
3660 - flex: 1;
3661 - min-width: 0;
3662 - }
3663 -
3664 - /* Delete container full width */
3665 - .mxchat-delete-container {
3666 - width: 100%;
3667 - }
3668 -
3669 - .mxchat-delete-container form,
3670 - .mxchat-delete-container .mxchat-bulk-delete {
3671 - width: 100%;
3672 - }
3673 -
3674 - .mxchat-delete-container .mxch-btn {
3675 - width: 100%;
3676 - justify-content: center;
3677 - }
3678 -
3679 - /* Table: hide ID and Source columns on mobile to save space */
3680 - .mxchat-records-table th:nth-child(2),
3681 - .mxchat-records-table td:nth-child(2) {
3682 - display: none;
3683 - }
3684 -
3685 - .mxchat-records-table th:nth-child(4),
3686 - .mxchat-records-table td:nth-child(4) {
3687 - display: none;
3688 - }
3689 -
3690 - /* Content column needs more room */
3691 - .mxchat-content-cell {
3692 - max-width: none !important;
3693 - }
3694 -
3695 - /* Table cells padding */
3696 - .mxchat-records-table th,
3697 - .mxchat-records-table td {
3698 - padding: 10px 8px !important;
3699 - }
3700 -
3701 - /* Pagination wraps nicely */
3702 - .mxchat-ajax-pagination {
3703 - flex-wrap: wrap;
3704 - justify-content: center;
3705 - }
3706 -}
3707 -
3708 -/* Small mobile: further adjustments */
3709 -@media screen and (max-width: 480px) {
3710 - #knowledge-base .mxch-card-header {
3711 - padding: 10px 12px;
3712 - }
3713 -
3714 - #knowledge-base .mxch-card-title {
3715 - font-size: 13px;
3716 - }
3717 -
3718 - /* Search form items fully stacked */
3719 - .mxch-kb-search-form {
3720 - flex-direction: column;
3721 - }
3722 -
3723 - /* Smaller table text */
3724 - .mxchat-records-table {
3725 - font-size: 12px;
3726 - }
3727 -
3728 - .mxchat-records-table th,
3729 - .mxchat-records-table td {
3730 - padding: 8px 6px !important;
3731 - }
3732 -
3733 - /* Also hide Actions header text but keep the column for delete buttons */
3734 - .mxchat-records-table th:nth-child(5) {
3735 - font-size: 0;
3736 - padding: 8px 4px !important;
3737 - width: 40px;
3738 - }
3739 -}
3740 -
3741 -/* ─── Edit Entry Modal ─── */
3742 -
3743 -.mxchat-edit-entry-btn {
3744 - color: var(--mxch-primary, #7873f5);
3745 -}
3746 -.mxchat-edit-entry-btn:hover {
3747 - color: var(--mxch-primary-dark, #5b56d6);
3748 - background: rgba(120, 115, 245, 0.08);
3749 -}
3750 -
3751 -.mxchat-kb-edit-modal-content {
3752 - max-width: 760px;
3753 - max-height: 90vh;
3754 -}
3755 -
3756 -.mxchat-kb-edit-body {
3757 - flex: 1;
3758 - display: flex;
3759 - flex-direction: column;
3760 - padding: 20px;
3761 - overflow: hidden;
3762 - gap: 12px;
3763 -}
3764 -
3765 -.mxchat-kb-edit-source {
3766 - font-size: 12px;
3767 - color: var(--mxch-text-muted, #6b7280);
3768 - word-break: break-all;
3769 -}
3770 -.mxchat-kb-edit-source a {
3771 - color: var(--mxch-primary, #7873f5);
3772 - text-decoration: none;
3773 -}
3774 -
3775 -.mxchat-kb-edit-textarea {
3776 - flex: 1;
3777 - min-height: 300px;
3778 - max-height: 55vh;
3779 - width: 100%;
3780 - padding: 14px;
3781 - border: 1px solid var(--mxch-input-border, #d1d5db);
3782 - border-radius: 8px;
3783 - font-size: 14px;
3784 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
3785 - line-height: 1.6;
3786 - resize: vertical;
3787 - color: var(--mxch-text-primary, #1a1a2e);
3788 - background: var(--mxch-input-bg, #fff);
3789 - box-sizing: border-box;
3790 - transition: border-color 0.2s;
3791 -}
3792 -.mxchat-kb-edit-textarea:focus {
3793 - outline: none;
3794 - border-color: var(--mxch-primary, #7873f5);
3795 - box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
3796 -}
3797 -
3798 -.mxchat-kb-edit-meta {
3799 - display: flex;
3800 - justify-content: space-between;
3801 - font-size: 12px;
3802 - color: var(--mxch-text-muted, #6b7280);
3803 -}
3804 -
3805 -.mxchat-kb-edit-footer {
3806 - display: flex;
3807 - align-items: center;
3808 - justify-content: space-between;
3809 - padding: 14px 20px;
3810 - border-top: 1px solid #e5e5e5;
3811 - gap: 12px;
3812 -}
3813 -
3814 -.mxchat-kb-edit-notice {
3815 - flex: 1;
3816 - font-size: 13px;
3817 -}
3818 -.mxchat-kb-edit-notice.success { color: #16a34a; }
3819 -.mxchat-kb-edit-notice.error { color: #dc2626; }
3820 -
3821 -.mxchat-kb-edit-actions {
3822 - display: flex;
3823 - gap: 8px;
3824 - flex-shrink: 0;
3825 -}
3826 -
3827 -.mxchat-kb-edit-save-spinner {
3828 - display: inline-flex;
3829 - align-items: center;
3830 - gap: 6px;
3831 -}
3832 -
3833 -@media (max-width: 782px) {
3834 - .mxchat-kb-edit-modal-content {
3835 - width: 96%;
3836 - max-width: 96%;
3837 - margin: 10px auto;
3838 - max-height: 95vh;
3839 - }
3840 - .mxchat-kb-edit-body {
3841 - padding: 14px;
3842 - }
3843 - .mxchat-kb-edit-textarea {
3844 - min-height: 200px;
3845 - font-size: 15px;
3846 - }
3847 - .mxchat-kb-edit-footer {
3848 - flex-direction: column;
3849 - align-items: stretch;
3850 - }
3851 - .mxchat-kb-edit-actions {
3852 - justify-content: stretch;
3853 - }
3854 - .mxchat-kb-edit-actions .mxch-btn {
3855 - flex: 1;
3856 - text-align: center;
3857 - }
3858 -}