PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.6.16
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.6.16
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.16, at admin/css/metasync-admin.css

2,111 lines 43.4 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 line-height: 1.4;
1490 text-decoration: none;
1491 transition: background 0.2s ease;
1492 vertical-align: middle;
1493 }
1494
1495 .metasync-sitemap-table .button-view:hover {
1496 background: var(--dashboard-accent-hover, #4f46e5);
1497 color: #fff;
1498 }
1499
1500 .metasync-sitemap-table .button-view .dashicons {
1501 font-size: 14px;
1502 width: 14px;
1503 height: 14px;
1504 color: #fff;
1505 }
1506
1507 .metasync-sitemap-table .button-delete {
1508 display: inline-flex;
1509 align-items: center;
1510 gap: 5px;
1511 padding: 6px 12px;
1512 background: #dc3232;
1513 color: #fff;
1514 border: none;
1515 border-radius: 6px;
1516 font-size: 13px;
1517 line-height: 1.4;
1518 cursor: pointer;
1519 transition: background 0.2s ease;
1520 vertical-align: middle;
1521 }
1522
1523 .metasync-sitemap-table td form {
1524 display: inline;
1525 vertical-align: middle;
1526 }
1527
1528 .metasync-sitemap-table .button-delete:hover {
1529 background: #b52727;
1530 color: #fff;
1531 }
1532
1533 .metasync-sitemap-table .button-delete .dashicons {
1534 font-size: 14px;
1535 width: 14px;
1536 height: 14px;
1537 color: #fff;
1538 }
1539
1540 @media (max-width: 768px) {
1541 .metasync-sitemap-table th,
1542 .metasync-sitemap-table td {
1543 padding: 10px 12px;
1544 font-size: 13px;
1545 }
1546 }
1547
1548 /* ================================================
1549 Content Genius User Role Sync Selector
1550 ================================================ */
1551
1552 .metasync-role-selector-container {
1553 display: block;
1554 max-width: 600px;
1555 max-height: 250px;
1556 overflow-y: auto;
1557 overflow-x: hidden;
1558 border: 1px solid #ddd;
1559 border-radius: 6px;
1560 padding: 15px;
1561 background: transparent;
1562 margin-bottom: 10px;
1563 }
1564
1565 /* Scrollbar styling for webkit browsers */
1566 .metasync-role-selector-container::-webkit-scrollbar {
1567 width: 8px;
1568 }
1569
1570 .metasync-role-selector-container::-webkit-scrollbar-track {
1571 background: var(--dashboard-border, #f1f1f1);
1572 border-radius: 4px;
1573 }
1574
1575 .metasync-role-selector-container::-webkit-scrollbar-thumb {
1576 background: var(--dashboard-text-secondary, #999);
1577 border-radius: 4px;
1578 transition: background 0.3s ease;
1579 }
1580
1581 .metasync-role-selector-container::-webkit-scrollbar-thumb:hover {
1582 background: var(--dashboard-text-primary, #666);
1583 }
1584
1585 /* All Roles Option */
1586 .metasync-role-option-all {
1587 display: block;
1588 width: 100%;
1589 padding: 10px;
1590 background: transparent;
1591 border: none;
1592 cursor: pointer;
1593 border-radius: 4px;
1594 transition: background-color 0.2s ease;
1595 }
1596
1597 .metasync-role-option-all:hover {
1598 background-color: rgba(0, 0, 0, 0.05);
1599 }
1600
1601 .metasync-role-option-all input[type="checkbox"] {
1602 margin: 0 8px 0 0;
1603 vertical-align: middle;
1604 }
1605
1606 .metasync-role-option-all strong {
1607 vertical-align: middle;
1608 color: var(--dashboard-text-primary, #23282d);
1609 font-weight: 600;
1610 font-size: 14px;
1611 }
1612
1613 /* Divider */
1614 .metasync-role-divider {
1615 margin: 15px 0;
1616 border: 0;
1617 border-top: 1px solid var(--dashboard-border, #ddd);
1618 }
1619
1620 /* Individual Role Options */
1621 .metasync-role-option {
1622 display: block;
1623 width: 100%;
1624 margin-bottom: 8px;
1625 padding: 8px 10px;
1626 cursor: pointer;
1627 background: transparent;
1628 border: none;
1629 border-radius: 4px;
1630 transition: background-color 0.2s ease;
1631 }
1632
1633 .metasync-role-option:hover {
1634 background-color: rgba(0, 0, 0, 0.05);
1635 }
1636
1637 .metasync-role-option:last-child {
1638 margin-bottom: 0;
1639 }
1640
1641 .metasync-role-option input[type="checkbox"] {
1642 margin: 0 8px 0 0;
1643 vertical-align: middle;
1644 }
1645
1646 .metasync-role-label {
1647 color: var(--dashboard-text-primary, #23282d);
1648 font-size: 14px;
1649 vertical-align: middle;
1650 cursor: pointer;
1651 }
1652
1653
1654 /* Responsive adjustments */
1655 @media (max-width: 768px) {
1656 .metasync-role-selector-container {
1657 max-height: 200px;
1658 padding: 12px;
1659 }
1660
1661 .metasync-role-option-all,
1662 .metasync-role-option {
1663 padding: 6px 8px;
1664 }
1665
1666 .metasync-role-label,
1667 .metasync-role-option-all strong {
1668 font-size: 13px;
1669 }
1670 }
1671
1672 /* Dark Mode Support for Role Selector */
1673 @media (prefers-color-scheme: dark) {
1674 .metasync-role-selector-container {
1675 border-color: var(--dashboard-border, #374151);
1676 }
1677
1678 .metasync-role-label,
1679 .metasync-role-option-all strong {
1680 color: var(--dashboard-text-primary, #ffffff);
1681 }
1682
1683 .metasync-role-divider {
1684 border-top-color: var(--dashboard-border, #374151);
1685 }
1686
1687 .metasync-role-option:hover,
1688 .metasync-role-option-all:hover {
1689 background-color: var(--dashboard-card-hover, rgba(255, 255, 255, 0.05));
1690 }
1691 }
1692
1693 /* HTML-Converted Pages Badge */
1694 .metasync-html-badge {
1695 display: inline-flex;
1696 align-items: center;
1697 gap: 4px;
1698 padding: 4px 10px;
1699 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1700 color: #ffffff;
1701 border-radius: 12px;
1702 font-size: 11px;
1703 font-weight: 600;
1704 text-transform: uppercase;
1705 letter-spacing: 0.5px;
1706 cursor: help;
1707 transition: all 0.2s ease;
1708 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
1709 }
1710
1711 .metasync-html-badge:hover {
1712 transform: translateY(-1px);
1713 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
1714 }
1715
1716 .metasync-badge-icon {
1717 font-size: 13px;
1718 line-height: 1;
1719 animation: pulse 2s ease-in-out infinite;
1720 }
1721
1722 .metasync-badge-text {
1723 line-height: 1;
1724 }
1725
1726 @keyframes pulse {
1727 0%, 100% {
1728 opacity: 1;
1729 }
1730 50% {
1731 opacity: 0.7;
1732 }
1733 }
1734
1735 /* Responsive adjustments for badge */
1736 @media (max-width: 782px) {
1737 .metasync-html-badge {
1738 font-size: 10px;
1739 padding: 3px 8px;
1740 gap: 3px;
1741 }
1742
1743 .metasync-badge-icon {
1744 font-size: 12px;
1745 }
1746 }
1747
1748 /* Dark mode support for badge */
1749 @media (prefers-color-scheme: dark) {
1750 .metasync-html-badge {
1751 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1752 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
1753 }
1754
1755 .metasync-html-badge:hover {
1756 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.4);
1757 }
1758 }
1759
1760 /* Page Editor Notice Banner */
1761 .metasync-editor-notice {
1762 margin: 15px 0 20px;
1763 border-left: 4px solid #667eea;
1764 background: linear-gradient(90deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.02) 100%);
1765 }
1766
1767 .metasync-editor-notice-content {
1768 display: flex;
1769 align-items: center;
1770 gap: 15px;
1771 padding: 8px 12px;
1772 }
1773
1774 .metasync-editor-badge {
1775 display: inline-flex;
1776 align-items: center;
1777 gap: 6px;
1778 padding: 6px 14px;
1779 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1780 color: #ffffff;
1781 border-radius: 14px;
1782 font-size: 12px;
1783 font-weight: 700;
1784 text-transform: uppercase;
1785 letter-spacing: 0.5px;
1786 white-space: nowrap;
1787 box-shadow: 0 2px 6px rgba(102, 126, 234, 0.25);
1788 }
1789
1790 .metasync-editor-message {
1791 margin: 0;
1792 font-size: 13px;
1793 line-height: 1.5;
1794 color: #2c3e50;
1795 }
1796
1797 .metasync-editor-message strong {
1798 color: #667eea;
1799 }
1800
1801 /* Quick Edit Badge Display */
1802 .metasync-quick-edit-source {
1803 clear: both;
1804 padding: 10px 12px;
1805 }
1806
1807 .metasync-quick-edit-source .title {
1808 display: inline-block;
1809 min-width: 80px;
1810 font-weight: 600;
1811 color: #1d2327;
1812 }
1813
1814 .metasync-quick-edit-badge-container {
1815 display: inline-block;
1816 vertical-align: middle;
1817 margin-left: 8px;
1818 }
1819
1820 .metasync-quick-edit-badge-container em {
1821 color: #787c82;
1822 font-size: 12px;
1823 }
1824
1825 /* Dashboard Widget */
1826 .metasync-dashboard-widget {
1827 margin: -12px;
1828 }
1829
1830 .metasync-widget-stats {
1831 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1832 color: #ffffff;
1833 padding: 20px;
1834 text-align: center;
1835 }
1836
1837 .metasync-stat-box {
1838 display: flex;
1839 flex-direction: column;
1840 align-items: center;
1841 gap: 8px;
1842 }
1843
1844 .metasync-stat-number {
1845 font-size: 48px;
1846 font-weight: 700;
1847 line-height: 1;
1848 text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1849 }
1850
1851 .metasync-stat-label {
1852 font-size: 14px;
1853 font-weight: 500;
1854 opacity: 0.95;
1855 text-transform: uppercase;
1856 letter-spacing: 0.5px;
1857 }
1858
1859 .metasync-widget-list {
1860 padding: 16px 20px;
1861 }
1862
1863 .metasync-widget-list h4 {
1864 margin: 0 0 12px;
1865 font-size: 14px;
1866 font-weight: 600;
1867 color: #1d2327;
1868 text-transform: uppercase;
1869 letter-spacing: 0.5px;
1870 }
1871
1872 .metasync-widget-list ul {
1873 margin: 0;
1874 padding: 0;
1875 list-style: none;
1876 }
1877
1878 .metasync-widget-page-item {
1879 display: flex;
1880 align-items: flex-start;
1881 gap: 10px;
1882 padding: 10px 0;
1883 border-bottom: 1px solid #f0f0f1;
1884 }
1885
1886 .metasync-widget-page-item:last-child {
1887 border-bottom: none;
1888 }
1889
1890 .metasync-page-icon {
1891 font-size: 16px;
1892 line-height: 1;
1893 padding-top: 2px;
1894 opacity: 0.7;
1895 }
1896
1897 .metasync-page-details {
1898 flex: 1;
1899 min-width: 0;
1900 }
1901
1902 .metasync-page-title {
1903 display: block;
1904 font-weight: 600;
1905 color: #2271b1;
1906 text-decoration: none;
1907 margin-bottom: 4px;
1908 white-space: nowrap;
1909 overflow: hidden;
1910 text-overflow: ellipsis;
1911 }
1912
1913 .metasync-page-title:hover {
1914 color: #135e96;
1915 text-decoration: underline;
1916 }
1917
1918 .metasync-page-meta {
1919 display: block;
1920 font-size: 12px;
1921 color: #787c82;
1922 }
1923
1924 .metasync-page-meta a {
1925 color: #787c82;
1926 text-decoration: none;
1927 }
1928
1929 .metasync-page-meta a:hover {
1930 color: #2271b1;
1931 }
1932
1933 .metasync-widget-footer {
1934 padding: 12px 20px;
1935 background: #f6f7f7;
1936 border-top: 1px solid #e0e0e0;
1937 text-align: center;
1938 }
1939
1940 .metasync-widget-footer a {
1941 color: #667eea;
1942 text-decoration: none;
1943 font-weight: 600;
1944 font-size: 13px;
1945 }
1946
1947 .metasync-widget-footer a:hover {
1948 color: #764ba2;
1949 text-decoration: underline;
1950 }
1951
1952 .metasync-dashboard-widget-empty {
1953 padding: 20px;
1954 text-align: center;
1955 }
1956
1957 /* Responsive adjustments for editor notice */
1958 @media (max-width: 782px) {
1959 .metasync-editor-notice-content {
1960 flex-direction: column;
1961 align-items: flex-start;
1962 gap: 10px;
1963 }
1964
1965 .metasync-editor-badge {
1966 font-size: 11px;
1967 padding: 5px 12px;
1968 }
1969
1970 .metasync-editor-message {
1971 font-size: 12px;
1972 }
1973 }
1974
1975 /* Dark mode support for new elements */
1976 @media (prefers-color-scheme: dark) {
1977 .metasync-editor-notice {
1978 background: linear-gradient(90deg, rgba(102, 126, 234, 0.15) 0%, rgba(118, 75, 162, 0.05) 100%);
1979 }
1980
1981 .metasync-editor-message {
1982 color: #e4e4e7;
1983 }
1984
1985 .metasync-quick-edit-source .title {
1986 color: #f0f0f1;
1987 }
1988
1989 .metasync-widget-list h4 {
1990 color: #f0f0f1;
1991 }
1992
1993 .metasync-widget-page-item {
1994 border-bottom-color: #3c434a;
1995 }
1996
1997 .metasync-page-title {
1998 color: #72aee6;
1999 }
2000
2001 .metasync-page-title:hover {
2002 color: #9ecaed;
2003 }
2004
2005 .metasync-page-meta,
2006 .metasync-page-meta a {
2007 color: #a7aaad;
2008 }
2009
2010 .metasync-widget-footer {
2011 background: #1d2327;
2012 border-top-color: #3c434a;
2013 }
2014 }
2015
2016 /* =====================================================================
2017 Compatibility Page — msrp-compat-* inner list components
2018 ===================================================================== */
2019
2020 /* Remove default accordion padding so rows fill edge-to-edge */
2021 .msrp-compat-accordion.metasync-accordion-content[data-state="open"] {
2022 padding: 0;
2023 }
2024
2025 .msrp-compat-list {
2026 display: flex;
2027 flex-direction: column;
2028 border-top: 1px solid var(--dashboard-border, #e2e8f0);
2029 }
2030
2031 .msrp-compat-row {
2032 display: flex;
2033 align-items: center;
2034 justify-content: space-between;
2035 gap: 10px;
2036 padding: 11px 24px;
2037 border-bottom: 1px solid var(--dashboard-border, #e2e8f0);
2038 border-left: 3px solid transparent;
2039 transition: background 0.15s;
2040 }
2041
2042 .msrp-compat-row:last-child {
2043 border-bottom: none;
2044 }
2045
2046 .msrp-compat-row:hover {
2047 background: var(--dashboard-card-hover, rgba(0,0,0,.03));
2048 }
2049
2050 /* Left indicator stripe */
2051 .msrp-indicator-active { border-left-color: #22c55e; }
2052 .msrp-indicator-installed { border-left-color: #f59e0b; }
2053 .msrp-indicator-none { border-left-color: transparent; }
2054
2055 .msrp-compat-row-left {
2056 display: flex;
2057 flex-direction: column;
2058 gap: 2px;
2059 min-width: 0;
2060 }
2061
2062 .msrp-compat-name {
2063 font-size: 13px;
2064 font-weight: 500;
2065 color: var(--dashboard-text-primary, #1e293b);
2066 }
2067
2068 .msrp-compat-note {
2069 font-size: 11px;
2070 color: var(--dashboard-text-secondary, #64748b);
2071 line-height: 1.3;
2072 }
2073
2074 .msrp-compat-row-right {
2075 display: flex;
2076 align-items: center;
2077 gap: 6px;
2078 flex-shrink: 0;
2079 }
2080
2081 /* Pills */
2082 .msrp-pill {
2083 display: inline-flex;
2084 align-items: center;
2085 padding: 2px 8px;
2086 border-radius: 20px;
2087 font-size: 11px;
2088 font-weight: 600;
2089 white-space: nowrap;
2090 line-height: 1.6;
2091 }
2092
2093 .msrp-pill-active {
2094 background: #dcfce7;
2095 color: #15803d;
2096 }
2097
2098 .msrp-pill-installed {
2099 background: #fef3c7;
2100 color: #92400e;
2101 }
2102
2103 .msrp-pill-none {
2104 background: var(--dashboard-bg, #f1f5f9);
2105 color: var(--dashboard-text-secondary, #64748b);
2106 }
2107
2108 .msrp-pill-supported {
2109 background: rgba(34, 113, 177, 0.1);
2110 color: var(--dashboard-accent, #2271b1);
2111 }