PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.5.7
MxChat – AI Chatbot & Content Generation for WordPress v2.5.7
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 +2604 -89 2.0.62.5.7 View file →
@@ -1,15 +1,28 @@
1 -/* Core Layout */
1 +/*
2 + * MxChat Knowledge Base Styles
3 + * Consolidated stylesheet for the Knowledge Base Manager
4 + */
2 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 ===== */
3 16 .mxchat-wrapper, .mxchat-admin-activation {
4 - width: calc(100% + 40px); /* Add 40px to account for left and right padding */
5 - margin: 0 -20px; /* Negative margin to counteract the padding */
17 + width: 100%;
18 + margin: 0px;
6 19 padding: 0;
7 20 background-color: #f8f9ff;
8 21 min-height: 100vh;
9 22 }
10 23
11 -/* Hero Section */
24 +/* ===== Hero Section ===== */
12 25 .mxchat-hero {
13 26 text-align: center;
14 27 padding: 3.5rem 2rem;
15 28 position: relative;
@@ -61,9 +74,9 @@
61 74 z-index: 2;
62 75 line-height: 1.6;
63 76 }
64 77
65 -/* Content Area */
78 +/* ===== Content Area ===== */
66 79 .mxchat-content {
67 80 padding: 2rem;
68 81 max-width: 1400px;
69 82 margin: 0 auto;
@@ -70,9 +83,9 @@
70 83 width: 100%;
71 84 box-sizing: border-box;
72 85 }
73 86
74 -/* Card Styles */
87 +/* ===== Card Styles ===== */
75 88 .mxchat-card {
76 89 background: #fff;
77 90 border-radius: 16px;
78 91 box-shadow: 0 4px 20px rgba(120, 115, 245, 0.08);
@@ -91,9 +104,320 @@
91 104 color: #333;
92 105 font-size: 1.5rem;
93 106 }
94 107
95 -/* Import Methods */
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 ===== */
96 420 .mxchat-import-methods {
97 421 display: grid;
98 422 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
99 423 gap: 20px;
@@ -100,26 +424,85 @@
100 424 margin: 30px 0;
101 425 }
102 426
103 427 .mxchat-method-card {
104 - background: #f8f9ff;
105 - padding: 20px;
106 - border-radius: 10px;
107 - border: 1px solid rgba(120, 115, 245, 0.1);
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%;
108 434 }
109 435
110 -.mxchat-method-card h4 {
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;
111 490 color: #333;
112 - margin: 0 0 10px;
491 + font-size: 1.3rem;
113 492 }
114 493
115 -.mxchat-method-card p {
494 +.mxchat-description {
116 495 color: #666;
117 - margin: 0;
118 - font-size: 0.9rem;
496 + font-size: 14px;
497 + margin-bottom: 20px;
119 498 }
120 499
121 -/* Tabs */
500 +.mxchat-section-content {
501 + margin-top: 15px;
502 +}
503 +
504 +/* ===== Tabs ===== */
122 505 .mxchat-tabs {
123 506 border-bottom: 1px solid rgba(120, 115, 245, 0.1);
124 507 margin-bottom: 20px;
125 508 display: flex;
@@ -145,9 +528,21 @@
145 528 color: #7873f5;
146 529 border-bottom-color: #7873f5;
147 530 }
148 531
149 -/* Toggle Switches */
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 ===== */
150 545 .mxchat-toggle-group {
151 546 display: flex;
152 547 flex-direction: column;
153 548 gap: 15px;
@@ -204,9 +599,32 @@
204 599 input:checked + .mxchat-toggle-slider:before {
205 600 transform: translateX(26px);
206 601 }
207 602
208 -/* Form Elements */
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 ===== */
209 627 .mxchat-form-group {
210 628 margin-bottom: 20px;
211 629 }
212 630
@@ -218,8 +636,9 @@
218 636 }
219 637
220 638 .mxchat-form-group input[type="text"],
221 639 .mxchat-form-group input[type="url"],
640 +.mxchat-form-group input[type="search"],
222 641 .mxchat-form-group textarea {
223 642 width: 100%;
224 643 padding: 12px 15px;
225 644 border: 2px solid rgba(120, 115, 245, 0.2);
@@ -239,19 +658,65 @@
239 658 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
240 659 outline: none;
241 660 }
242 661
243 -/* URL Input Group */
244 -.mxchat-url-input-group {
662 +/* ===== Search ===== */
663 +.mxchat-search-form {
245 664 display: flex;
246 - gap: 10px;
247 665 }
248 666
249 -.mxchat-url-input-group input {
250 - flex: 1;
667 +.mxchat-search-group {
668 + position: relative;
669 + display: flex;
670 + align-items: center;
251 671 }
252 672
253 -/* Buttons */
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 ===== */
254 719 .mxchat-button-primary {
255 720 background: linear-gradient(135deg, #fa73e6, #7873f5);
256 721 border: none;
257 722 color: white;
@@ -266,8 +731,15 @@
266 731 transform: translateY(-1px);
267 732 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
268 733 }
269 734
735 +.mxchat-button-primary:disabled {
736 + background: #a7a7a7;
737 + cursor: not-allowed;
738 + transform: none;
739 + box-shadow: none;
740 +}
741 +
270 742 .mxchat-button-secondary {
271 743 background: #f8f9ff;
272 744 border: 1px solid rgba(120, 115, 245, 0.2);
273 745 color: #666;
@@ -312,9 +784,89 @@
312 784 background: #f8f9ff;
313 785 color: #7873f5;
314 786 }
315 787
316 -/* Table Styles */
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 ===== */
317 869 .mxchat-table-wrapper {
318 870 overflow-x: auto;
319 871 margin: 20px 0;
320 872 }
@@ -333,8 +885,14 @@
333 885 text-align: left;
334 886 border-bottom: 2px solid rgba(120, 115, 245, 0.1);
335 887 }
336 888
889 +/* Hide ID column */
890 +.mxchat-records-table th:first-child,
891 +.mxchat-records-table td:first-child {
892 + display: none;
893 +}
894 +
337 895 .mxchat-records-table td {
338 896 padding: 15px;
339 897 border-top: 1px solid rgba(120, 115, 245, 0.1);
340 898 vertical-align: top;
@@ -344,11 +902,110 @@
344 902 background: rgba(120, 115, 245, 0.03);
345 903 }
346 904
347 905 .mxchat-content-cell {
348 - max-width: 400px;
906 + max-width: 600px;
349 907 }
350 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 +
351 1008 .mxchat-url-cell a {
352 1009 color: #7873f5;
353 1010 text-decoration: none;
354 1011 display: flex;
@@ -365,111 +1022,763 @@
365 1022 display: flex;
366 1023 gap: 8px;
367 1024 }
368 1025
369 -/* Progress Bar */
370 -.mxchat-progress-bar {
371 - height: 8px;
372 - background: rgba(120, 115, 245, 0.1);
1026 +/* Legacy content-view styling (now within accordion) */
1027 +.content-edit {
1028 + width: 100%;
1029 + min-height: 100px;
1030 + border: 1px solid #ddd;
373 1031 border-radius: 4px;
374 - overflow: hidden;
375 - margin: 10px 0;
1032 + padding: 10px;
376 1033 }
377 1034
378 -.mxchat-progress-fill {
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%;
379 1258 height: 100%;
380 - background: linear-gradient(135deg, #fa73e6, #7873f5);
381 - transition: width 0.3s ease;
1259 + background-color: rgba(0, 0, 0, 0.7);
1260 + z-index: 999999;
1261 + overflow: auto;
1262 + justify-content: center;
1263 + align-items: center;
382 1264 }
383 1265
384 -/* Status Card */
385 -.mxchat-status-card {
386 - background: #f8f9ff;
387 - border-radius: 10px;
388 - padding: 20px;
389 - margin-top: 20px;
1266 +.mxchat-kb-modal.active {
1267 + display: flex;
390 1268 }
391 1269
392 -.mxchat-status-header {
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;
393 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;
394 1299 justify-content: space-between;
395 - align-items: center;
396 - margin-bottom: 15px;
1300 + padding: 20px;
1301 + border-bottom: 1px solid #e5e5e5;
1302 + background-color: #f8f9fa;
1303 + border-radius: 8px 8px 0 0;
397 1304 }
398 1305
399 -.mxchat-status-details {
400 - margin-top: 10px;
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;
401 1317 color: #666;
1318 + line-height: 1;
1319 + transition: color 0.2s;
402 1320 }
403 1321
404 -/* Search */
405 -.mxchat-search-form {
406 - position: relative;
1322 +.mxchat-kb-modal-close:hover {
1323 + color: #d63638;
407 1324 }
408 1325
409 -.mxchat-search-group {
410 - position: relative;
1326 +.mxchat-kb-modal-filters {
1327 + padding: 15px 20px;
1328 + background-color: #f8f9fa;
411 1329 display: flex;
412 1330 align-items: center;
1331 + justify-content: space-between;
1332 + border-bottom: 1px solid #e5e5e5;
1333 + flex-wrap: wrap;
1334 + gap: 10px;
413 1335 }
414 1336
415 -.mxchat-search-group .dashicons {
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;
416 1362 position: absolute;
417 - left: 12px;
1363 + left: 10px;
1364 + top: 50%;
1365 + transform: translateY(-50%);
418 1366 color: #666;
419 1367 }
420 1368
421 -.mxchat-search-group input {
422 - padding-left: 40px;
423 - width: 300px;
1369 +.mxchat-kb-filter-group {
1370 + display: flex;
1371 + gap: 10px;
1372 + flex-wrap: wrap;
424 1373 }
425 1374
426 -/* Header Actions */
427 -.mxchat-card-header {
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 {
428 1407 display: flex;
429 1408 justify-content: space-between;
430 1409 align-items: center;
431 - margin-bottom: 20px;
1410 + padding: 15px 20px;
1411 + background-color: #f8f9fa;
1412 + border-bottom: 1px solid #eee;
1413 + position: sticky;
1414 + top: 0;
1415 + z-index: 10;
432 1416 }
433 1417
434 -.mxchat-header-actions {
1418 +.mxchat-kb-selection-header label {
435 1419 display: flex;
436 - gap: 16px;
437 1420 align-items: center;
1421 + gap: 8px;
1422 + font-weight: 500;
438 1423 }
439 1424
440 -/* Pagination */
441 -.mxchat-pagination {
442 - margin-top: 20px;
443 - padding-top: 20px;
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;
444 1562 text-align: center;
445 - border-top: 1px solid rgba(120, 115, 245, 0.1);
1563 + transition: all 0.2s;
446 1564 }
447 1565
448 -.mxchat-pagination .page-numbers {
449 - display: inline-flex;
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;
450 1619 align-items: center;
451 - justify-content: center;
452 - min-width: 32px;
453 - height: 32px;
454 - padding: 0 8px;
455 - margin: 0 4px;
456 - border-radius: 6px;
457 - background: white;
458 - border: 1px solid rgba(120, 115, 245, 0.2);
459 - color: #333;
1620 + gap: 5px;
1621 + flex-wrap: wrap;
1622 +}
1623 +
1624 +.mxchat-kb-page-link {
1625 + padding: 5px 10px;
460 1626 text-decoration: none;
461 - transition: all 0.2s ease;
1627 + border: 1px solid #ddd;
1628 + color: #7873f5;
1629 + border-radius: 3px;
1630 + transition: all 0.2s;
462 1631 }
463 1632
464 -.mxchat-pagination .page-numbers.current {
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;
465 1641 background: linear-gradient(135deg, #fa73e6, #7873f5);
466 1642 color: white;
467 - border: none;
1643 + border-radius: 3px;
1644 + font-weight: 500;
468 1645 }
469 1646
470 -/* Responsive Design */
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 ===== */
471 1779 @media screen and (max-width: 782px) {
1780 + /* Hero section */
472 1781 div.mxchat-hero h1.mxchat-main-title {
473 1782 font-size: 2.5rem;
474 1783 }
475 1784
@@ -493,9 +1802,19 @@
493 1802
494 1803 .mxchat-search-group input {
495 1804 width: 100%;
496 1805 }
497 -
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 +
498 1817 .mxchat-url-input-group {
499 1818 flex-direction: column;
500 1819 }
501 1820
@@ -506,18 +1825,1214 @@
506 1825
507 1826 .mxchat-content-cell {
508 1827 max-width: 200px;
509 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 + }
510 1878 }
511 1879
512 -/* Utility Classes */
513 -.mxchat-na {
514 - color: #999;
515 - font-style: italic;
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;
516 1890 }
517 1891
518 -.mxchat-no-records {
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 {
519 2826 text-align: center;
2827 + padding: 40px;
520 2828 color: #666;
521 - padding: 40px !important;
522 2829 }
523 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 +}