PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.6.7
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.6.7
2.6.26 2.6.25 2.6.24 2.6.23 2.6.22 2.6.21 2.6.20 2.6.19 2.6.18 2.6.17 2.6.16 2.6.15 2.6.14 2.6.13 2.6.12 2.6.11 2.6.10 2.6.9 2.6.8 2.6.7 2.6.6 2.6.5 2.6.4 2.6.3 2.5.23 All 138 releases
metasync / admin / css / metasync-admin.css

metasync-admin.css in Search Atlas SEO – OTTO AI SEO Automation for WordPress 2.6.7, at admin/css/metasync-admin.css

2,075 lines 42.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * All of the CSS for your admin-specific functionality should be
3 * included in this file.
4 */
5
6 /* Compatibility Page Styles */
7 .metasync-compatibility-sections {
8 display: grid;
9 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
10 gap: 20px;
11 margin-top: 20px;
12 }
13
14 .metasync-compatibility-section {
15 background: var(--dashboard-card-bg, #fff);
16 border: 1px solid #e1e1e1;
17 border-radius: 8px;
18 padding: 20px;
19 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
20 transition: box-shadow 0.3s ease;
21 }
22
23 .metasync-compatibility-section:hover {
24 box-shadow: 0 4px 8px rgba(0,0,0,0.15);
25 }
26
27 .metasync-compatibility-section h3 {
28 margin-top: 0;
29 margin-bottom: 15px;
30 color: var(--dashboard-accent, #3b82f6) !important;
31 font-size: 18px;
32 font-weight: 600;
33 border-bottom: 2px solid #e1e1e1;
34 padding-bottom: 10px;
35 display: flex;
36 align-items: center;
37 gap: 8px;
38 }
39
40 .metasync-plugin-item {
41 display: flex;
42 justify-content: space-between;
43 align-items: center;
44 padding: 12px 0;
45 border-bottom: 1px solid #f5f5f5;
46 transition: background-color 0.2s ease;
47 }
48
49 .metasync-plugin-info {
50 display: flex;
51 align-items: center;
52 gap: 12px;
53 flex: 1;
54 }
55
56 .metasync-plugin-logo {
57 width: 32px;
58 height: 32px;
59 border-radius: 6px;
60 object-fit: contain;
61 background: #f8f9fa;
62 padding: 4px;
63 border: 1px solid #e1e1e1;
64 }
65
66 /* Handle broken images gracefully */
67 .metasync-plugin-logo:not([src]),
68 .metasync-plugin-logo[src=""],
69 .metasync-plugin-logo[src*="error"] {
70 display: none;
71 }
72
73 /* Show placeholder when no logo */
74 .metasync-plugin-info:not(:has(.metasync-plugin-logo[src]))::before {
75 content: "🔧";
76 width: 32px;
77 height: 32px;
78 border-radius: 6px;
79 background: #f8f9fa;
80 padding: 4px;
81 border: 1px solid #e1e1e1;
82 display: flex;
83 align-items: center;
84 justify-content: center;
85 font-size: 16px;
86 margin-right: 12px;
87 }
88
89 .metasync-plugin-details {
90 display: flex;
91 flex-direction: column;
92 gap: 4px;
93 }
94
95 .metasync-plugin-name {
96 font-weight: 500;
97 color: var(--dashboard-text-primary, #ffffff) !important;
98 font-size: 14px;
99 margin: 0;
100 }
101
102 .metasync-plugin-note {
103 font-size: 11px;
104 color: var(--dashboard-text-secondary, #94a3b8);
105 margin: 0;
106 line-height: 1.4;
107 }
108
109 .metasync-plugin-install-status {
110 font-size: 11px;
111 color: #666;
112 font-weight: 400;
113 text-transform: uppercase;
114 letter-spacing: 0.5px;
115 }
116
117 .metasync-plugin-install-status.installed {
118 color: #28a745;
119 }
120
121 .metasync-plugin-install-status.not-installed {
122 color: #dc3545;
123 }
124
125 /* New Status Labels System */
126 .metasync-plugin-status-labels {
127 display: flex;
128 align-items: center;
129 gap: 6px;
130 margin-top: 6px;
131 flex-wrap: wrap;
132 }
133
134 .metasync-status-label {
135 display: inline-flex;
136 align-items: center;
137 padding: 3px 10px;
138 border-radius: 12px;
139 font-size: 11px;
140 font-weight: 600;
141 text-transform: uppercase;
142 letter-spacing: 0.3px;
143 line-height: 1.4;
144 transition: all 0.2s ease;
145 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
146 }
147
148 /* Installed Label - Blue Theme */
149 .metasync-label-installed {
150 background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
151 color: #ffffff;
152 border: 1px solid #2563eb;
153 }
154
155 /* Active Label - Green Theme */
156 .metasync-label-active {
157 background: linear-gradient(135deg, #10b981 0%, #059669 100%);
158 color: #ffffff;
159 border: 1px solid #059669;
160 }
161
162 /* Not Active Label - Orange/Amber Theme */
163 .metasync-label-not-active {
164 background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
165 color: #ffffff;
166 border: 1px solid #d97706;
167 }
168
169 /* Not Installed Label - Gray Theme */
170 .metasync-label-not-installed {
171 background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
172 color: #ffffff;
173 border: 1px solid #4b5563;
174 }
175
176 .metasync-plugin-item:last-child {
177 border-bottom: none;
178 }
179
180 .metasync-plugin-item:hover {
181 background-color: rgba(0,0,0,0.02);
182 border-radius: 4px;
183 margin: 0 -8px;
184 padding-left: 8px;
185 padding-right: 8px;
186 }
187
188
189 .metasync-plugin-status {
190 display: flex;
191 align-items: center;
192 gap: 8px;
193 }
194
195 .metasync-status-badge {
196 padding: 4px 8px;
197 border-radius: 4px;
198 font-size: 12px;
199 font-weight: 500;
200 text-transform: uppercase;
201 letter-spacing: 0.5px;
202 }
203
204 .metasync-status-supported {
205 background: #d4edda;
206 color: #155724;
207 border: 1px solid #c3e6cb;
208 }
209
210 .metasync-status-coming-soon {
211 background: #fff3cd;
212 color: #856404;
213 border: 1px solid #ffeaa7;
214 }
215
216 .metasync-status-not-installed {
217 background: #f8d7da;
218 color: #721c24;
219 border: 1px solid #f5c6cb;
220 }
221
222 .metasync-plugin-version {
223 font-size: 12px;
224 color: #666;
225 background: #f8f9fa;
226 padding: 2px 6px;
227 border-radius: 3px;
228 font-family: monospace;
229 }
230
231 /* Responsive Design */
232 @media (max-width: 768px) {
233 .metasync-compatibility-sections {
234 grid-template-columns: 1fr;
235 gap: 15px;
236 }
237
238 .metasync-compatibility-section {
239 padding: 15px;
240 }
241
242 .metasync-plugin-item {
243 flex-direction: column;
244 align-items: flex-start;
245 gap: 8px;
246 }
247
248 .metasync-plugin-status {
249 align-self: flex-end;
250 }
251 }
252
253 /* Google Index API Button Styling */
254 .button.button-link-delete:hover {
255 color: #ffffff !important;
256 background: #dc3545 !important;
257 border-color: #dc3545 !important;
258 }
259
260 /* Dark Mode Support */
261 @media (prefers-color-scheme: dark) {
262 .metasync-compatibility-section {
263 background: var(--dashboard-card-bg, #1a1f26);
264 border-color: var(--dashboard-border, #374151);
265 color: var(--dashboard-text-primary, #ffffff);
266 }
267
268 .metasync-compatibility-section h3 {
269 color: var(--dashboard-accent, #3b82f6) !important;
270 border-bottom-color: var(--dashboard-border, #374151);
271 }
272
273 .metasync-plugin-name {
274 color: var(--dashboard-text-primary, #ffffff) !important;
275 }
276
277 .metasync-plugin-item {
278 border-bottom-color: var(--dashboard-border, #374151);
279 }
280
281 .metasync-plugin-item:hover {
282 background-color: var(--dashboard-card-hover, #222831);
283 }
284
285 .metasync-plugin-version {
286 background: var(--dashboard-border, #374151);
287 color: var(--dashboard-text-secondary, #9ca3af);
288 }
289
290 /* Dark Mode - Status Labels */
291 .metasync-label-installed {
292 background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
293 border-color: #1e3a8a;
294 box-shadow: 0 2px 4px rgba(37, 99, 235, 0.3);
295 }
296
297 .metasync-label-active {
298 background: linear-gradient(135deg, #059669 0%, #047857 100%);
299 border-color: #065f46;
300 box-shadow: 0 2px 4px rgba(5, 150, 105, 0.3);
301 }
302
303 .metasync-label-not-active {
304 background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
305 border-color: #92400e;
306 box-shadow: 0 2px 4px rgba(217, 119, 6, 0.3);
307 }
308
309 .metasync-label-not-installed {
310 background: linear-gradient(135deg, #4b5563 0%, #374151 100%);
311 border-color: #1f2937;
312 box-shadow: 0 2px 4px rgba(75, 85, 99, 0.3);
313 }
314
315 .description {
316 color: var(--dashboard-text-secondary, #9ca3af);
317 }
318 }
319
320 /* Search Atlas Connect Styles
321 Handles 1-click connect UI for retrieving Search Atlas API key and Otto UUID.
322 Does NOT provide WordPress login functionality. */
323 .metasync-sa-connect-container {
324 background: #fff;
325 border: 1px solid #ccd0d4;
326 border-radius: 6px;
327 padding: 20px;
328 margin-top: 15px;
329 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
330 }
331
332 /* Prevent dashboard loading conflicts on connect elements */
333 .metasync-sa-connect-container .no-loading,
334 #connect-searchatlas-btn.no-loading,
335 #reset-searchatlas-auth.no-loading,
336 .metasync-sa-connect-btn.no-loading,
337 .metasync-sa-connect-protected {
338 position: relative;
339 }
340
341 .metasync-sa-connect-container .no-loading::after,
342 #connect-searchatlas-btn.no-loading::after,
343 #reset-searchatlas-auth.no-loading::after,
344 .metasync-sa-connect-btn.no-loading::after,
345 .metasync-sa-connect-protected::after,
346 #connect-searchatlas-btn.dashboard-loading::after {
347 display: none !important; /* Override any dashboard loading CSS */
348 }
349
350 /* Override dashboard loading on connect button */
351 #connect-searchatlas-btn.dashboard-loading {
352 opacity: 1 !important;
353 pointer-events: auto !important;
354 position: relative !important;
355 }
356
357 /* Prevent dashboard.js from disabling connect buttons */
358 .metasync-sa-connect-protected:disabled {
359 opacity: 0.7 !important;
360 pointer-events: auto !important;
361 }
362
363 .metasync-sa-connect-title {
364 font-size: 16px;
365 font-weight: 600;
366 color: #23282d;
367 margin: 0 0 15px 0;
368 display: flex;
369 align-items: center;
370 gap: 8px;
371 }
372
373 .metasync-sa-connect-description {
374 color: #646970;
375 margin-bottom: 20px;
376 font-size: 14px;
377 line-height: 1.5;
378 }
379
380 #connect-searchatlas-btn {
381 position: relative;
382 background: linear-gradient(135deg, #0073aa 0%, #005177 100%);
383 color: #fff;
384 border: none;
385 padding: 12px 24px;
386 border-radius: 6px;
387 font-weight: 600;
388 font-size: 14px;
389 cursor: pointer;
390 transition: all 0.3s ease;
391 display: inline-flex;
392 align-items: center;
393 gap: 8px;
394 min-width: 180px;
395 justify-content: center;
396 }
397
398 #connect-searchatlas-btn:hover:not(:disabled) {
399 background: linear-gradient(135deg, #005177 0%, #003d56 100%);
400 transform: translateY(-1px);
401 box-shadow: 0 4px 12px rgba(0,115,170,0.3);
402 }
403
404 #connect-searchatlas-btn:disabled {
405 opacity: 0.7;
406 cursor: not-allowed;
407 transform: none;
408 }
409
410 .metasync-sa-connect-loading {
411 display: inline-block;
412 width: 16px;
413 height: 16px;
414 border: 2px solid #ffffff40;
415 border-top: 2px solid #ffffff;
416 border-radius: 50%;
417 animation: metasync-spin 1s linear infinite;
418 vertical-align: middle;
419 margin-right: 6px;
420 position: static; /* Keep in normal document flow */
421 }
422
423 @keyframes metasync-spin {
424 0% { transform: rotate(0deg); }
425 100% { transform: rotate(360deg); }
426 }
427
428 .metasync-sa-connect-progress {
429 margin-top: 15px;
430 padding: 15px;
431 background: #f8f9fa;
432 border-left: 4px solid #0073aa;
433 border-radius: 0 4px 4px 0;
434 display: none;
435 }
436
437 .metasync-sa-connect-progress-header {
438 display: flex;
439 justify-content: space-between;
440 align-items: center;
441 margin-bottom: 10px;
442 font-size: 14px;
443 }
444
445 .metasync-sa-connect-progress-time {
446 color: #646970;
447 font-size: 12px;
448 font-weight: normal;
449 }
450
451 .metasync-sa-connect-progress-text {
452 margin-top: 8px;
453 color: #646970;
454 font-size: 13px;
455 font-style: italic;
456 }
457
458 .metasync-sa-connect-progress-bar {
459 width: 100%;
460 height: 6px;
461 background: #e1e1e1;
462 border-radius: 3px;
463 overflow: hidden;
464 margin: 10px 0;
465 }
466
467 .metasync-sa-connect-progress-fill {
468 height: 100%;
469 background: linear-gradient(90deg, #0073aa 0%, #005177 100%);
470 width: 0%;
471 transition: width 0.3s ease;
472 border-radius: 3px;
473 }
474
475 .metasync-sa-connect-status {
476 margin-top: 15px;
477 padding: 12px 16px;
478 border-radius: 6px;
479 display: none;
480 font-weight: 500;
481 /* Removed metasync-slideIn animation - was too distracting */
482 }
483
484 @keyframes metasync-slideIn {
485 from {
486 opacity: 0;
487 transform: translateY(-10px);
488 }
489 to {
490 opacity: 1;
491 transform: translateY(0);
492 }
493 }
494
495 .metasync-sa-connect-status.success {
496 background: #d4edda;
497 border: 1px solid #c3e6cb;
498 color: #155724;
499 }
500
501 .metasync-sa-connect-status.error {
502 background: #f8d7da;
503 border: 1px solid #f5c6cb;
504 color: #721c24;
505 }
506
507 .metasync-sa-connect-status.info {
508 background: #d1ecf1;
509 border: 1px solid #bee5eb;
510 color: #0c5460;
511 }
512
513 .metasync-sa-connect-status.warning {
514 background: #fff3cd;
515 border: 1px solid #ffeaa7;
516 color: #856404;
517 }
518
519 .metasync-sa-connect-status-content {
520 margin-bottom: 10px;
521 }
522
523 .metasync-sa-connect-status-title {
524 font-weight: 600;
525 font-size: 15px;
526 margin-bottom: 8px;
527 display: flex;
528 align-items: center;
529 gap: 8px;
530 }
531
532 .metasync-sa-connect-status-message {
533 font-size: 14px;
534 line-height: 1.4;
535 opacity: 0.9;
536 }
537
538 .metasync-sa-connect-icon {
539 display: inline-block;
540 margin-right: 8px;
541 font-size: 16px;
542 }
543
544 /* Enhanced visual feedback */
545 .metasync-sa-connect-container:hover {
546 box-shadow: 0 2px 8px rgba(0,0,0,0.15);
547 transition: box-shadow 0.3s ease;
548 }
549
550 .metasync-sa-connect-success-animation {
551 animation: metasync-successPulse 0.6s ease-out;
552 }
553
554 @keyframes metasync-successPulse {
555 0% { transform: scale(1); }
556 50% { transform: scale(1.02); }
557 100% { transform: scale(1); }
558 }
559
560 /* Tooltip styles for help text */
561 .metasync-tooltip {
562 position: relative;
563 display: inline-block;
564 cursor: help;
565 color: #0073aa;
566 }
567
568 .metasync-tooltip::after {
569 content: attr(data-tooltip);
570 position: absolute;
571 bottom: 100%;
572 left: 50%;
573 transform: translateX(-50%);
574 background: #23282d;
575 color: #fff;
576 padding: 6px 10px;
577 border-radius: 4px;
578 font-size: 12px;
579 white-space: nowrap;
580 opacity: 0;
581 visibility: hidden;
582 transition: all 0.3s ease;
583 z-index: 1000;
584 }
585
586 .metasync-tooltip:hover::after {
587 opacity: 1;
588 visibility: visible;
589 transform: translateX(-50%) translateY(-5px);
590 }
591
592 .metasync-sa-connect-buttons {
593 display: flex;
594 gap: 12px;
595 align-items: center;
596 flex-wrap: wrap;
597 margin-bottom: 15px;
598 }
599
600 .metasync-sa-reset-btn {
601 background: #dc3545;
602 color: #fff;
603 border: 1px solid #dc3545;
604 padding: 10px 18px;
605 border-radius: 5px;
606 font-size: 13px;
607 font-weight: 500;
608 cursor: pointer;
609 transition: all 0.3s ease;
610 display: inline-flex;
611 align-items: center;
612 gap: 6px;
613 }
614
615 .metasync-sa-reset-btn:hover:not(:disabled) {
616 background: #c82333;
617 border-color: #c82333;
618 transform: translateY(-1px);
619 box-shadow: 0 3px 8px rgba(220,53,69,0.3);
620 }
621
622 .metasync-sa-reset-btn:disabled {
623 opacity: 0.7;
624 cursor: not-allowed;
625 transform: none;
626 }
627
628 .metasync-sa-connect-actions {
629 margin-top: 15px;
630 display: flex;
631 gap: 10px;
632 flex-wrap: wrap;
633 }
634
635 .metasync-sa-connect-btn {
636 padding: 8px 16px;
637 border-radius: 4px;
638 font-size: 13px;
639 text-decoration: none;
640 display: inline-flex;
641 align-items: center;
642 gap: 6px;
643 cursor: pointer;
644 transition: all 0.2s ease;
645 }
646
647 .metasync-sa-connect-btn.primary {
648 background: #0073aa;
649 color: #fff;
650 border: 1px solid #0073aa;
651 }
652
653 .metasync-sa-connect-btn.secondary {
654 background: #f1f1f1;
655 color: #50575e;
656 border: 1px solid #ccd0d4;
657 }
658
659 .metasync-sa-connect-btn:hover {
660 transform: translateY(-1px);
661 }
662
663 .metasync-pulse {
664 animation: metasync-pulse 2s ease-in-out infinite;
665 }
666
667 @keyframes metasync-pulse {
668 0%, 100% { opacity: 1; }
669 50% { opacity: 0.7; }
670 }
671
672 /* Enhanced Progress Bar Animations */
673 .metasync-sa-connect-progress-fill {
674 position: relative;
675 overflow: hidden;
676 }
677
678 .metasync-sa-connect-progress-fill::after {
679 content: '';
680 position: absolute;
681 top: 0;
682 left: 0;
683 bottom: 0;
684 right: 0;
685 background-image: linear-gradient(
686 -45deg,
687 rgba(255, 255, 255, 0.2) 25%,
688 transparent 25%,
689 transparent 50%,
690 rgba(255, 255, 255, 0.2) 50%,
691 rgba(255, 255, 255, 0.2) 75%,
692 transparent 75%,
693 transparent
694 );
695 background-size: 20px 20px;
696 animation: metasync-progressStripes 1s linear infinite;
697 }
698
699 @keyframes metasync-progressStripes {
700 0% { background-position: 0 0; }
701 100% { background-position: 20px 0; }
702 }
703
704 /* Enhanced button states */
705 #connect-searchatlas-btn.connecting {
706 background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
707 }
708
709 #connect-searchatlas-btn.authenticating {
710 background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
711 }
712
713 #connect-searchatlas-btn.success {
714 background: linear-gradient(135deg, #27ae60 0%, #229954 100%);
715 }
716
717 /* Mobile Responsive Design */
718 @media (max-width: 768px) {
719 .metasync-sa-connect-container {
720 padding: 15px;
721 margin-top: 10px;
722 border-radius: 8px;
723 }
724
725 .metasync-sa-connect-buttons {
726 flex-direction: column;
727 gap: 10px;
728 align-items: stretch;
729 }
730
731 #connect-searchatlas-btn {
732 width: 100%;
733 padding: 15px;
734 font-size: 16px;
735 touch-action: manipulation; /* Improves tap responsiveness */
736 order: 1;
737 }
738
739 .metasync-sa-reset-btn {
740 width: 100%;
741 padding: 12px 18px;
742 font-size: 14px;
743 justify-content: center;
744 order: 2;
745 }
746
747 .metasync-sa-connect-actions {
748 flex-direction: column;
749 gap: 8px;
750 }
751
752 .metasync-sa-connect-btn {
753 justify-content: center;
754 padding: 12px 16px;
755 font-size: 14px;
756 }
757
758 .metasync-sa-connect-progress {
759 padding: 12px;
760 }
761
762 .metasync-sa-connect-progress-header {
763 flex-direction: column;
764 align-items: flex-start;
765 gap: 5px;
766 }
767
768 .metasync-sa-connect-status {
769 padding: 15px;
770 margin-top: 12px;
771 }
772
773 .metasync-sa-connect-status-title {
774 font-size: 16px;
775 }
776
777 /* Improve touch targets on mobile */
778 .metasync-sa-connect-btn, .metasync-sa-reset-btn {
779 min-height: 44px;
780 }
781
782 /* Mobile Header Optimizations */
783 .metasync-header {
784 flex-direction: column;
785 gap: 15px;
786 text-align: center;
787 }
788
789 .metasync-header-actions {
790 flex-direction: column;
791 gap: 10px;
792 width: 100%;
793 }
794
795 .metasync-dashboard-btn {
796 width: 100%;
797 justify-content: center;
798 padding: 12px 20px;
799 font-size: 16px;
800 }
801
802 .metasync-integration-status {
803 justify-content: center;
804 }
805 }
806
807 /* Tablet optimizations */
808 @media (min-width: 769px) and (max-width: 1024px) {
809 .metasync-sa-connect-container {
810 padding: 18px;
811 }
812
813 .metasync-sa-connect-actions {
814 flex-wrap: wrap;
815 justify-content: flex-start;
816 }
817 }
818
819 /* Dashboard Button Styling */
820 .metasync-header-actions {
821 display: flex;
822 align-items: center;
823 gap: 15px;
824 }
825
826 .metasync-dashboard-btn {
827 background: linear-gradient(135deg, #0073aa 0%, #005177 100%);
828 color: #fff;
829 text-decoration: none;
830 padding: 10px 18px;
831 border-radius: 6px;
832 font-weight: 500;
833 font-size: 14px;
834 display: inline-flex;
835 align-items: center;
836 gap: 6px;
837 transition: all 0.3s ease;
838 border: none;
839 cursor: pointer;
840 }
841
842 .metasync-dashboard-btn:hover,
843 .metasync-dashboard-btn:focus {
844 background: linear-gradient(135deg, #005177 0%, #003d56 100%);
845 transform: translateY(-1px);
846 box-shadow: 0 4px 12px rgba(0,115,170,0.3);
847 color: #fff;
848 text-decoration: none;
849 }
850
851 .metasync-integration-status {
852 display: flex;
853 align-items: center;
854 gap: 6px;
855 font-size: 13px;
856 padding: 8px 12px;
857 border-radius: 5px;
858 font-weight: 500;
859 }
860
861 .metasync-integration-status.integrated {
862 background: #d4edda;
863 color: #155724;
864 border: 1px solid #c3e6cb;
865 }
866
867 .metasync-integration-status.not-integrated {
868 background: #f8d7da;
869 color: #721c24;
870 border: 1px solid #f5c6cb;
871 }
872
873 .metasync-integration-status.warning {
874 background: #fff3cd;
875 color: #856404;
876 border: 1px solid #ffeeba;
877 }
878
879 .metasync-integration-status .status-indicator {
880 width: 8px;
881 height: 8px;
882 border-radius: 50%;
883 display: inline-block;
884 }
885
886 .metasync-integration-status.integrated .status-indicator {
887 background: #28a745;
888 }
889
890 .metasync-integration-status.not-integrated .status-indicator {
891 background: #dc3545;
892 }
893
894 .metasync-integration-status.warning .status-indicator {
895 background: #ffb900;
896 }
897
898 /* Header Layout */
899 .metasync-header {
900 display: flex;
901 justify-content: space-between;
902 align-items: center;
903 margin-bottom: 20px;
904 padding: 20px;
905 background: #fff;
906 border: 1px solid #ccd0d4;
907 border-radius: 8px;
908 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
909 }
910
911 .metasync-header-left {
912 display: flex;
913 align-items: center;
914 gap: 15px;
915 }
916
917 .metasync-logo {
918 max-height: 40px;
919 width: auto;
920 }
921
922 /* Dashboard Iframe Styling */
923 .metasync-dashboard-iframe-container {
924 padding: 0;
925 overflow: hidden;
926 }
927
928 .metasync-dashboard-iframe-header {
929 display: flex;
930 justify-content: space-between;
931 align-items: center;
932 padding: 20px 20px 15px 20px;
933 border-bottom: 1px solid #e1e1e1;
934 background: #f8f9fa;
935 }
936
937 .metasync-dashboard-iframe-header h2 {
938 margin: 0;
939 color: #23282d;
940 font-size: 18px;
941 }
942
943 .metasync-dashboard-controls {
944 display: flex;
945 gap: 8px;
946 }
947
948 .metasync-dashboard-iframe-wrapper {
949 position: relative;
950 background: #fff;
951 overflow: hidden;
952 }
953
954 /* Iframe wrapper overlay - DISABLED to prevent black subsections */
955 /* .metasync-dashboard-iframe-wrapper::before {
956 content: '';
957 position: absolute;
958 top: 0;
959 left: 0;
960 right: 0;
961 height: 3px;
962 background: linear-gradient(90deg, #0073aa 0%, #005177 100%);
963 z-index: 1;
964 } */
965
966 #metasync-dashboard-iframe {
967 border: none;
968 display: block;
969 background: #f8f9fa;
970 transition: opacity 0.3s ease;
971
972 /* Custom scrollbar styling for better design integration */
973 scrollbar-width: thin;
974 scrollbar-color: #c1c1c1 #f8f9fa;
975 }
976
977 /* WebKit browsers (Chrome, Safari, Edge) scrollbar styling */
978 #metasync-dashboard-iframe::-webkit-scrollbar {
979 width: 12px;
980 height: 12px;
981 }
982
983 #metasync-dashboard-iframe::-webkit-scrollbar-track {
984 background: #f8f9fa;
985 border-radius: 6px;
986 }
987
988 #metasync-dashboard-iframe::-webkit-scrollbar-thumb {
989 background: #c1c1c1;
990 border-radius: 6px;
991 border: 2px solid #f8f9fa;
992 }
993
994 #metasync-dashboard-iframe::-webkit-scrollbar-thumb:hover {
995 background: #a8a8a8;
996 }
997
998 #metasync-dashboard-iframe::-webkit-scrollbar-corner {
999 background: #f8f9fa;
1000 }
1001
1002 #metasync-dashboard-iframe[src=""] {
1003 opacity: 0.7;
1004 }
1005
1006 .metasync-dashboard-iframe-footer {
1007 padding: 10px 20px;
1008 background: #f8f9fa;
1009 border-top: 1px solid #e1e1e1;
1010 }
1011
1012 .metasync-dashboard-iframe-footer code {
1013 background: #e9ecef;
1014 padding: 2px 6px;
1015 border-radius: 3px;
1016 font-size: 12px;
1017 }
1018
1019 /* Loading State for Iframe */
1020 .metasync-dashboard-iframe-loading {
1021 position: absolute;
1022 top: 50%;
1023 left: 50%;
1024 transform: translate(-50%, -50%);
1025 text-align: center;
1026 z-index: 2;
1027 display: flex;
1028 flex-direction: column;
1029 align-items: center;
1030 justify-content: center;
1031 }
1032
1033 .metasync-dashboard-iframe-loading .spinner {
1034 width: 40px;
1035 height: 40px;
1036 border: 4px solid #f3f3f3;
1037 border-top: 4px solid #0073aa;
1038 border-radius: 50%;
1039 animation: metasync-spin 1s linear infinite;
1040 margin: 0 auto 15px;
1041 display: block;
1042 }
1043
1044 .metasync-dashboard-iframe-loading p {
1045 margin: 0;
1046 color: #666;
1047 font-size: 14px;
1048 text-align: center;
1049 }
1050
1051 /* Mobile Iframe Optimizations */
1052 @media (max-width: 768px) {
1053 .metasync-dashboard-iframe-header {
1054 flex-direction: column;
1055 gap: 15px;
1056 align-items: stretch;
1057 text-align: center;
1058 }
1059
1060 .metasync-dashboard-controls {
1061 justify-content: center;
1062 flex-wrap: wrap;
1063 }
1064
1065 #metasync-dashboard-iframe {
1066 height: 600px; /* Shorter on mobile */
1067 }
1068
1069 .metasync-dashboard-iframe-footer {
1070 text-align: center;
1071 }
1072 }
1073
1074 /* Accessibility Improvements */
1075 .metasync-sa-connect-status:focus {
1076 outline: 2px solid #005177;
1077 outline-offset: 2px;
1078 }
1079
1080 .screen-reader-text {
1081 clip: rect(1px, 1px, 1px, 1px);
1082 position: absolute !important;
1083 height: 1px;
1084 width: 1px;
1085 overflow: hidden;
1086 }
1087
1088 /* Legacy styles maintained for backward compatibility */
1089 .table {
1090 border: 0px;
1091 margin: 0px;
1092 }
1093
1094 .table td {
1095 text-align: center;
1096 border-bottom: 1px solid gray;
1097 padding: 3px;
1098 }
1099
1100 .description {
1101 color: #666;
1102 font-size: 13px;
1103 line-height: 1.5;
1104 }
1105
1106 .descriptionValue {
1107 color: green;
1108 padding: 2px;
1109 }
1110
1111 .bold {
1112 font-weight: 600;
1113 }
1114
1115 .wide-text {
1116 width: 100%;
1117 }
1118 .pl {
1119 padding-left: 30px;
1120 }
1121 .pr {
1122 padding-right: 30px;
1123 }
1124 .pt {
1125 padding-top: 30px;
1126 }
1127 .result-wrapper {
1128 background-color: white;
1129 text-align: center;
1130 padding: 20px;
1131 }
1132 .green-text-color {
1133 color: green;
1134 }
1135
1136 .red-text-color {
1137 color: red;
1138 }
1139
1140 .checkbox-list li {
1141 padding-bottom: 30px;
1142 }
1143
1144 .input-length {
1145 width: 20%;
1146 }
1147
1148 .add-form-table {
1149 width: 70%;
1150 background-color: white;
1151 }
1152
1153 .add-form-table tr th {
1154 padding-left: 10px;
1155 }
1156
1157 #source_urls {
1158 padding: 0px;
1159 margin: 0px;
1160 }
1161
1162 #add-redirection-form {
1163 display: none;
1164 }
1165 .hide {
1166 display: none;
1167 }
1168 .show {
1169 display: block;
1170 }
1171 .code-box {
1172 background-color: black !important;
1173 color: gray !important;
1174 width: 100%;
1175 }
1176
1177 /* XML Sitemap Styles */
1178 .metasync-sitemap-container {
1179 max-width: 1200px;
1180 margin: 0 auto;
1181 }
1182
1183 .metasync-sitemap-status-card,
1184 .metasync-sitemap-warning-card,
1185 .metasync-sitemap-actions-card,
1186 .metasync-sitemap-preview-card,
1187 .metasync-sitemap-info-card {
1188 margin-bottom: 20px;
1189 }
1190
1191 .metasync-sitemap-status-grid {
1192 display: grid;
1193 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1194 gap: 20px;
1195 margin-bottom: 20px;
1196 }
1197
1198 .metasync-sitemap-stat {
1199 display: flex;
1200 align-items: center;
1201 gap: 15px;
1202 padding: 15px;
1203 background: var(--dashboard-card-bg, #f8f9fa);
1204 border: 1px solid var(--dashboard-border, #e1e1e1);
1205 border-radius: 8px;
1206 transition: transform 0.2s ease, box-shadow 0.2s ease;
1207 }
1208
1209 .metasync-sitemap-stat:hover {
1210 transform: translateY(-2px);
1211 box-shadow: 0 4px 12px rgba(0,0,0,0.1);
1212 }
1213
1214 .metasync-sitemap-stat .stat-icon {
1215 font-size: 32px;
1216 line-height: 1;
1217 }
1218
1219 .metasync-sitemap-stat .stat-content {
1220 flex: 1;
1221 }
1222
1223 .metasync-sitemap-stat .stat-label {
1224 font-size: 12px;
1225 color: var(--dashboard-text-secondary, #666);
1226 text-transform: uppercase;
1227 letter-spacing: 0.5px;
1228 margin-bottom: 5px;
1229 font-weight: 600;
1230 }
1231
1232 .metasync-sitemap-stat .stat-value {
1233 font-size: 24px;
1234 font-weight: 700;
1235 color: var(--dashboard-text-primary, #23282d);
1236 }
1237
1238 .metasync-sitemap-stat .stat-value.stat-value-small {
1239 font-size: 14px;
1240 }
1241
1242 .metasync-sitemap-stat .stat-value.status-active {
1243 color: #28a745;
1244 }
1245
1246 .metasync-sitemap-stat .stat-value.status-inactive {
1247 color: #dc3545;
1248 }
1249
1250 .metasync-sitemap-url-box {
1251 padding: 15px;
1252 background: var(--dashboard-card-bg, #f0f6ff);
1253 border: 1px solid var(--dashboard-accent, #3b82f6);
1254 border-radius: 6px;
1255 margin-top: 20px;
1256 }
1257
1258 .metasync-sitemap-url-box strong {
1259 display: block;
1260 margin-bottom: 8px;
1261 color: var(--dashboard-text-primary, #23282d);
1262 }
1263
1264 .metasync-sitemap-link {
1265 color: var(--dashboard-accent, #0073aa);
1266 text-decoration: none;
1267 font-weight: 500;
1268 word-break: break-all;
1269 }
1270
1271 .metasync-sitemap-link:hover {
1272 text-decoration: underline;
1273 }
1274
1275 .metasync-sitemap-link .dashicons {
1276 font-size: 14px;
1277 vertical-align: middle;
1278 }
1279
1280 .metasync-sitemap-info-notice {
1281 background: #e7f3ff;
1282 border-left: 4px solid #0073aa;
1283 }
1284
1285 .metasync-info-notice-content {
1286 display: flex;
1287 align-items: flex-start;
1288 gap: 15px;
1289 }
1290
1291 .metasync-info-notice-content .dashicons {
1292 flex-shrink: 0;
1293 margin-top: 2px;
1294 }
1295
1296 .metasync-sitemap-actions-grid {
1297 display: grid;
1298 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
1299 gap: 20px;
1300 }
1301
1302 .metasync-sitemap-action-form {
1303 text-align: center;
1304 }
1305
1306 .metasync-sitemap-button-large {
1307 width: 100%;
1308 min-height: 60px;
1309 font-size: 16px;
1310 display: flex;
1311 align-items: center;
1312 justify-content: center;
1313 gap: 8px;
1314 }
1315
1316 .metasync-sitemap-button-large .dashicons {
1317 font-size: 20px;
1318 }
1319
1320 .metasync-button-description {
1321 margin-top: 10px;
1322 font-size: 13px;
1323 color: var(--dashboard-text-secondary, #666);
1324 font-style: italic;
1325 }
1326
1327 .button-warning {
1328 background: #ff9800;
1329 border-color: #f57c00;
1330 color: #fff;
1331 }
1332
1333 .button-warning:hover,
1334 .button-warning:focus {
1335 background: #f57c00;
1336 border-color: #e65100;
1337 color: #fff;
1338 }
1339
1340 .metasync-sitemap-preview-container {
1341 background: var(--dashboard-card-bg, #f8f9fa);
1342 border: 1px solid var(--dashboard-border, #e1e1e1);
1343 border-radius: 8px;
1344 overflow: hidden;
1345 }
1346
1347 .metasync-sitemap-preview-header {
1348 display: flex;
1349 justify-content: space-between;
1350 align-items: center;
1351 padding: 12px 15px;
1352 background: var(--dashboard-border, #e9ecef);
1353 border-bottom: 1px solid var(--dashboard-border, #dee2e6);
1354 }
1355
1356 .metasync-preview-label {
1357 font-family: monospace;
1358 font-weight: 600;
1359 color: var(--dashboard-text-primary, #23282d);
1360 }
1361
1362 .metasync-sitemap-code-block {
1363 max-height: 400px;
1364 overflow: auto;
1365 }
1366
1367 .metasync-sitemap-code-block pre {
1368 margin: 0;
1369 padding: 20px;
1370 background: var(--dashboard-card-bg, #f8f9fa);
1371 font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
1372 font-size: 13px;
1373 line-height: 1.6;
1374 color: var(--dashboard-text-primary, #23282d);
1375 white-space: pre-wrap;
1376 word-wrap: break-word;
1377 }
1378
1379 .metasync-info-section {
1380 margin-bottom: 20px;
1381 }
1382
1383 .metasync-info-section h3 {
1384 color: var(--dashboard-accent, #3b82f6);
1385 font-size: 16px;
1386 margin-bottom: 10px;
1387 }
1388
1389 .metasync-info-section p {
1390 color: var(--dashboard-text-secondary, #666);
1391 line-height: 1.6;
1392 margin-bottom: 10px;
1393 }
1394
1395 .metasync-submit-list {
1396 list-style: none;
1397 padding: 0;
1398 }
1399
1400 .metasync-submit-list li {
1401 padding: 8px 0;
1402 color: var(--dashboard-text-secondary, #666);
1403 }
1404
1405 .metasync-submit-list li strong {
1406 color: var(--dashboard-text-primary, #23282d);
1407 }
1408
1409 .metasync-submit-list code {
1410 background: var(--dashboard-border, #e9ecef);
1411 padding: 2px 6px;
1412 border-radius: 3px;
1413 font-size: 12px;
1414 color: var(--dashboard-accent, #0073aa);
1415 }
1416
1417 .metasync-inline-form {
1418 margin-top: 15px;
1419 }
1420
1421 @media (max-width: 768px) {
1422 .metasync-sitemap-status-grid {
1423 grid-template-columns: 1fr;
1424 }
1425
1426 .metasync-sitemap-actions-grid {
1427 grid-template-columns: 1fr;
1428 }
1429
1430 .metasync-sitemap-stat .stat-value {
1431 font-size: 20px;
1432 }
1433 }
1434
1435 /* Sitemap Files Table */
1436 .metasync-sitemap-table {
1437 width: 100%;
1438 border-collapse: collapse;
1439 margin-top: 15px;
1440 background: var(--dashboard-card-bg);
1441 border-radius: 8px;
1442 overflow: hidden;
1443 }
1444
1445 .metasync-sitemap-table th {
1446 background: var(--dashboard-card-header-bg, rgba(255,255,255,0.05));
1447 color: var(--dashboard-text-primary);
1448 padding: 12px 15px;
1449 text-align: left;
1450 font-weight: 600;
1451 border-bottom: 1px solid var(--dashboard-border-color);
1452 }
1453
1454 .metasync-sitemap-table td {
1455 padding: 12px 15px;
1456 color: var(--dashboard-text-primary);
1457 border-bottom: 1px solid var(--dashboard-border-color);
1458 }
1459
1460 .metasync-sitemap-table tbody tr:hover {
1461 background: var(--dashboard-card-header-bg, rgba(255,255,255,0.03));
1462 }
1463
1464 .metasync-sitemap-table tbody tr:last-child td {
1465 border-bottom: none;
1466 }
1467
1468 .metasync-sitemap-table .sitemap-filename {
1469 font-weight: 600;
1470 color: var(--dashboard-text-primary);
1471 }
1472
1473 .metasync-sitemap-table .sitemap-url-range {
1474 font-size: 12px;
1475 color: var(--dashboard-text-secondary);
1476 margin-top: 4px;
1477 }
1478
1479 .metasync-sitemap-table .button-view {
1480 display: inline-flex;
1481 align-items: center;
1482 gap: 5px;
1483 padding: 6px 12px;
1484 background: var(--dashboard-accent-color, #6366f1);
1485 color: #fff;
1486 border: none;
1487 border-radius: 6px;
1488 font-size: 13px;
1489 text-decoration: none;
1490 transition: background 0.2s ease;
1491 }
1492
1493 .metasync-sitemap-table .button-view:hover {
1494 background: var(--dashboard-accent-hover, #4f46e5);
1495 color: #fff;
1496 }
1497
1498 .metasync-sitemap-table .button-view .dashicons {
1499 font-size: 14px;
1500 width: 14px;
1501 height: 14px;
1502 }
1503
1504 @media (max-width: 768px) {
1505 .metasync-sitemap-table th,
1506 .metasync-sitemap-table td {
1507 padding: 10px 12px;
1508 font-size: 13px;
1509 }
1510 }
1511
1512 /* ================================================
1513 Content Genius User Role Sync Selector
1514 ================================================ */
1515
1516 .metasync-role-selector-container {
1517 display: block;
1518 max-width: 600px;
1519 max-height: 250px;
1520 overflow-y: auto;
1521 overflow-x: hidden;
1522 border: 1px solid #ddd;
1523 border-radius: 6px;
1524 padding: 15px;
1525 background: transparent;
1526 margin-bottom: 10px;
1527 }
1528
1529 /* Scrollbar styling for webkit browsers */
1530 .metasync-role-selector-container::-webkit-scrollbar {
1531 width: 8px;
1532 }
1533
1534 .metasync-role-selector-container::-webkit-scrollbar-track {
1535 background: var(--dashboard-border, #f1f1f1);
1536 border-radius: 4px;
1537 }
1538
1539 .metasync-role-selector-container::-webkit-scrollbar-thumb {
1540 background: var(--dashboard-text-secondary, #999);
1541 border-radius: 4px;
1542 transition: background 0.3s ease;
1543 }
1544
1545 .metasync-role-selector-container::-webkit-scrollbar-thumb:hover {
1546 background: var(--dashboard-text-primary, #666);
1547 }
1548
1549 /* All Roles Option */
1550 .metasync-role-option-all {
1551 display: block;
1552 width: 100%;
1553 padding: 10px;
1554 background: transparent;
1555 border: none;
1556 cursor: pointer;
1557 border-radius: 4px;
1558 transition: background-color 0.2s ease;
1559 }
1560
1561 .metasync-role-option-all:hover {
1562 background-color: rgba(0, 0, 0, 0.05);
1563 }
1564
1565 .metasync-role-option-all input[type="checkbox"] {
1566 margin: 0 8px 0 0;
1567 vertical-align: middle;
1568 }
1569
1570 .metasync-role-option-all strong {
1571 vertical-align: middle;
1572 color: var(--dashboard-text-primary, #23282d);
1573 font-weight: 600;
1574 font-size: 14px;
1575 }
1576
1577 /* Divider */
1578 .metasync-role-divider {
1579 margin: 15px 0;
1580 border: 0;
1581 border-top: 1px solid var(--dashboard-border, #ddd);
1582 }
1583
1584 /* Individual Role Options */
1585 .metasync-role-option {
1586 display: block;
1587 width: 100%;
1588 margin-bottom: 8px;
1589 padding: 8px 10px;
1590 cursor: pointer;
1591 background: transparent;
1592 border: none;
1593 border-radius: 4px;
1594 transition: background-color 0.2s ease;
1595 }
1596
1597 .metasync-role-option:hover {
1598 background-color: rgba(0, 0, 0, 0.05);
1599 }
1600
1601 .metasync-role-option:last-child {
1602 margin-bottom: 0;
1603 }
1604
1605 .metasync-role-option input[type="checkbox"] {
1606 margin: 0 8px 0 0;
1607 vertical-align: middle;
1608 }
1609
1610 .metasync-role-label {
1611 color: var(--dashboard-text-primary, #23282d);
1612 font-size: 14px;
1613 vertical-align: middle;
1614 cursor: pointer;
1615 }
1616
1617
1618 /* Responsive adjustments */
1619 @media (max-width: 768px) {
1620 .metasync-role-selector-container {
1621 max-height: 200px;
1622 padding: 12px;
1623 }
1624
1625 .metasync-role-option-all,
1626 .metasync-role-option {
1627 padding: 6px 8px;
1628 }
1629
1630 .metasync-role-label,
1631 .metasync-role-option-all strong {
1632 font-size: 13px;
1633 }
1634 }
1635
1636 /* Dark Mode Support for Role Selector */
1637 @media (prefers-color-scheme: dark) {
1638 .metasync-role-selector-container {
1639 border-color: var(--dashboard-border, #374151);
1640 }
1641
1642 .metasync-role-label,
1643 .metasync-role-option-all strong {
1644 color: var(--dashboard-text-primary, #ffffff);
1645 }
1646
1647 .metasync-role-divider {
1648 border-top-color: var(--dashboard-border, #374151);
1649 }
1650
1651 .metasync-role-option:hover,
1652 .metasync-role-option-all:hover {
1653 background-color: var(--dashboard-card-hover, rgba(255, 255, 255, 0.05));
1654 }
1655 }
1656
1657 /* HTML-Converted Pages Badge */
1658 .metasync-html-badge {
1659 display: inline-flex;
1660 align-items: center;
1661 gap: 4px;
1662 padding: 4px 10px;
1663 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1664 color: #ffffff;
1665 border-radius: 12px;
1666 font-size: 11px;
1667 font-weight: 600;
1668 text-transform: uppercase;
1669 letter-spacing: 0.5px;
1670 cursor: help;
1671 transition: all 0.2s ease;
1672 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
1673 }
1674
1675 .metasync-html-badge:hover {
1676 transform: translateY(-1px);
1677 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
1678 }
1679
1680 .metasync-badge-icon {
1681 font-size: 13px;
1682 line-height: 1;
1683 animation: pulse 2s ease-in-out infinite;
1684 }
1685
1686 .metasync-badge-text {
1687 line-height: 1;
1688 }
1689
1690 @keyframes pulse {
1691 0%, 100% {
1692 opacity: 1;
1693 }
1694 50% {
1695 opacity: 0.7;
1696 }
1697 }
1698
1699 /* Responsive adjustments for badge */
1700 @media (max-width: 782px) {
1701 .metasync-html-badge {
1702 font-size: 10px;
1703 padding: 3px 8px;
1704 gap: 3px;
1705 }
1706
1707 .metasync-badge-icon {
1708 font-size: 12px;
1709 }
1710 }
1711
1712 /* Dark mode support for badge */
1713 @media (prefers-color-scheme: dark) {
1714 .metasync-html-badge {
1715 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1716 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
1717 }
1718
1719 .metasync-html-badge:hover {
1720 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.4);
1721 }
1722 }
1723
1724 /* Page Editor Notice Banner */
1725 .metasync-editor-notice {
1726 margin: 15px 0 20px;
1727 border-left: 4px solid #667eea;
1728 background: linear-gradient(90deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.02) 100%);
1729 }
1730
1731 .metasync-editor-notice-content {
1732 display: flex;
1733 align-items: center;
1734 gap: 15px;
1735 padding: 8px 12px;
1736 }
1737
1738 .metasync-editor-badge {
1739 display: inline-flex;
1740 align-items: center;
1741 gap: 6px;
1742 padding: 6px 14px;
1743 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1744 color: #ffffff;
1745 border-radius: 14px;
1746 font-size: 12px;
1747 font-weight: 700;
1748 text-transform: uppercase;
1749 letter-spacing: 0.5px;
1750 white-space: nowrap;
1751 box-shadow: 0 2px 6px rgba(102, 126, 234, 0.25);
1752 }
1753
1754 .metasync-editor-message {
1755 margin: 0;
1756 font-size: 13px;
1757 line-height: 1.5;
1758 color: #2c3e50;
1759 }
1760
1761 .metasync-editor-message strong {
1762 color: #667eea;
1763 }
1764
1765 /* Quick Edit Badge Display */
1766 .metasync-quick-edit-source {
1767 clear: both;
1768 padding: 10px 12px;
1769 }
1770
1771 .metasync-quick-edit-source .title {
1772 display: inline-block;
1773 min-width: 80px;
1774 font-weight: 600;
1775 color: #1d2327;
1776 }
1777
1778 .metasync-quick-edit-badge-container {
1779 display: inline-block;
1780 vertical-align: middle;
1781 margin-left: 8px;
1782 }
1783
1784 .metasync-quick-edit-badge-container em {
1785 color: #787c82;
1786 font-size: 12px;
1787 }
1788
1789 /* Dashboard Widget */
1790 .metasync-dashboard-widget {
1791 margin: -12px;
1792 }
1793
1794 .metasync-widget-stats {
1795 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1796 color: #ffffff;
1797 padding: 20px;
1798 text-align: center;
1799 }
1800
1801 .metasync-stat-box {
1802 display: flex;
1803 flex-direction: column;
1804 align-items: center;
1805 gap: 8px;
1806 }
1807
1808 .metasync-stat-number {
1809 font-size: 48px;
1810 font-weight: 700;
1811 line-height: 1;
1812 text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1813 }
1814
1815 .metasync-stat-label {
1816 font-size: 14px;
1817 font-weight: 500;
1818 opacity: 0.95;
1819 text-transform: uppercase;
1820 letter-spacing: 0.5px;
1821 }
1822
1823 .metasync-widget-list {
1824 padding: 16px 20px;
1825 }
1826
1827 .metasync-widget-list h4 {
1828 margin: 0 0 12px;
1829 font-size: 14px;
1830 font-weight: 600;
1831 color: #1d2327;
1832 text-transform: uppercase;
1833 letter-spacing: 0.5px;
1834 }
1835
1836 .metasync-widget-list ul {
1837 margin: 0;
1838 padding: 0;
1839 list-style: none;
1840 }
1841
1842 .metasync-widget-page-item {
1843 display: flex;
1844 align-items: flex-start;
1845 gap: 10px;
1846 padding: 10px 0;
1847 border-bottom: 1px solid #f0f0f1;
1848 }
1849
1850 .metasync-widget-page-item:last-child {
1851 border-bottom: none;
1852 }
1853
1854 .metasync-page-icon {
1855 font-size: 16px;
1856 line-height: 1;
1857 padding-top: 2px;
1858 opacity: 0.7;
1859 }
1860
1861 .metasync-page-details {
1862 flex: 1;
1863 min-width: 0;
1864 }
1865
1866 .metasync-page-title {
1867 display: block;
1868 font-weight: 600;
1869 color: #2271b1;
1870 text-decoration: none;
1871 margin-bottom: 4px;
1872 white-space: nowrap;
1873 overflow: hidden;
1874 text-overflow: ellipsis;
1875 }
1876
1877 .metasync-page-title:hover {
1878 color: #135e96;
1879 text-decoration: underline;
1880 }
1881
1882 .metasync-page-meta {
1883 display: block;
1884 font-size: 12px;
1885 color: #787c82;
1886 }
1887
1888 .metasync-page-meta a {
1889 color: #787c82;
1890 text-decoration: none;
1891 }
1892
1893 .metasync-page-meta a:hover {
1894 color: #2271b1;
1895 }
1896
1897 .metasync-widget-footer {
1898 padding: 12px 20px;
1899 background: #f6f7f7;
1900 border-top: 1px solid #e0e0e0;
1901 text-align: center;
1902 }
1903
1904 .metasync-widget-footer a {
1905 color: #667eea;
1906 text-decoration: none;
1907 font-weight: 600;
1908 font-size: 13px;
1909 }
1910
1911 .metasync-widget-footer a:hover {
1912 color: #764ba2;
1913 text-decoration: underline;
1914 }
1915
1916 .metasync-dashboard-widget-empty {
1917 padding: 20px;
1918 text-align: center;
1919 }
1920
1921 /* Responsive adjustments for editor notice */
1922 @media (max-width: 782px) {
1923 .metasync-editor-notice-content {
1924 flex-direction: column;
1925 align-items: flex-start;
1926 gap: 10px;
1927 }
1928
1929 .metasync-editor-badge {
1930 font-size: 11px;
1931 padding: 5px 12px;
1932 }
1933
1934 .metasync-editor-message {
1935 font-size: 12px;
1936 }
1937 }
1938
1939 /* Dark mode support for new elements */
1940 @media (prefers-color-scheme: dark) {
1941 .metasync-editor-notice {
1942 background: linear-gradient(90deg, rgba(102, 126, 234, 0.15) 0%, rgba(118, 75, 162, 0.05) 100%);
1943 }
1944
1945 .metasync-editor-message {
1946 color: #e4e4e7;
1947 }
1948
1949 .metasync-quick-edit-source .title {
1950 color: #f0f0f1;
1951 }
1952
1953 .metasync-widget-list h4 {
1954 color: #f0f0f1;
1955 }
1956
1957 .metasync-widget-page-item {
1958 border-bottom-color: #3c434a;
1959 }
1960
1961 .metasync-page-title {
1962 color: #72aee6;
1963 }
1964
1965 .metasync-page-title:hover {
1966 color: #9ecaed;
1967 }
1968
1969 .metasync-page-meta,
1970 .metasync-page-meta a {
1971 color: #a7aaad;
1972 }
1973
1974 .metasync-widget-footer {
1975 background: #1d2327;
1976 border-top-color: #3c434a;
1977 }
1978 }
1979
1980 /* =====================================================================
1981 Compatibility Page — msrp-compat-* inner list components
1982 ===================================================================== */
1983
1984 /* Remove default accordion padding so rows fill edge-to-edge */
1985 .msrp-compat-accordion.metasync-accordion-content[data-state="open"] {
1986 padding: 0;
1987 }
1988
1989 .msrp-compat-list {
1990 display: flex;
1991 flex-direction: column;
1992 border-top: 1px solid var(--dashboard-border, #e2e8f0);
1993 }
1994
1995 .msrp-compat-row {
1996 display: flex;
1997 align-items: center;
1998 justify-content: space-between;
1999 gap: 10px;
2000 padding: 11px 24px;
2001 border-bottom: 1px solid var(--dashboard-border, #e2e8f0);
2002 border-left: 3px solid transparent;
2003 transition: background 0.15s;
2004 }
2005
2006 .msrp-compat-row:last-child {
2007 border-bottom: none;
2008 }
2009
2010 .msrp-compat-row:hover {
2011 background: var(--dashboard-card-hover, rgba(0,0,0,.03));
2012 }
2013
2014 /* Left indicator stripe */
2015 .msrp-indicator-active { border-left-color: #22c55e; }
2016 .msrp-indicator-installed { border-left-color: #f59e0b; }
2017 .msrp-indicator-none { border-left-color: transparent; }
2018
2019 .msrp-compat-row-left {
2020 display: flex;
2021 flex-direction: column;
2022 gap: 2px;
2023 min-width: 0;
2024 }
2025
2026 .msrp-compat-name {
2027 font-size: 13px;
2028 font-weight: 500;
2029 color: var(--dashboard-text-primary, #1e293b);
2030 }
2031
2032 .msrp-compat-note {
2033 font-size: 11px;
2034 color: var(--dashboard-text-secondary, #64748b);
2035 line-height: 1.3;
2036 }
2037
2038 .msrp-compat-row-right {
2039 display: flex;
2040 align-items: center;
2041 gap: 6px;
2042 flex-shrink: 0;
2043 }
2044
2045 /* Pills */
2046 .msrp-pill {
2047 display: inline-flex;
2048 align-items: center;
2049 padding: 2px 8px;
2050 border-radius: 20px;
2051 font-size: 11px;
2052 font-weight: 600;
2053 white-space: nowrap;
2054 line-height: 1.6;
2055 }
2056
2057 .msrp-pill-active {
2058 background: #dcfce7;
2059 color: #15803d;
2060 }
2061
2062 .msrp-pill-installed {
2063 background: #fef3c7;
2064 color: #92400e;
2065 }
2066
2067 .msrp-pill-none {
2068 background: var(--dashboard-bg, #f1f5f9);
2069 color: var(--dashboard-text-secondary, #64748b);
2070 }
2071
2072 .msrp-pill-supported {
2073 background: rgba(34, 113, 177, 0.1);
2074 color: var(--dashboard-accent, #2271b1);
2075 }