PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / trunk
Search Atlas SEO – OTTO AI SEO Automation for WordPress vtrunk
2.7.0 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 All 139 releases
← All changes | admin/css/metasync-layout.css +64 -9 2.6.3 → trunk View file →
@@ -24,21 +24,23 @@
24 24 }
25 25
26 26 @media (max-width: 1400px) {
27 27 .metasync-layout {
28 - grid-template-columns: 200px 1fr 240px;
28 + grid-template-columns: 200px 1fr;
29 + grid-template-rows: auto auto;
29 30 }
30 - .metasync-layout:not(:has(.metasync-layout-promo)) {
31 - grid-template-columns: 200px 1fr;
31 + .metasync-layout-nav {
32 + grid-column: 1;
33 + grid-row: 1 / -1;
32 34 }
33 -}
34 -
35 -@media (max-width: 1280px) {
36 - .metasync-layout {
37 - grid-template-columns: 200px 1fr;
35 + .metasync-layout-main {
36 + grid-column: 2;
37 + grid-row: 1;
38 38 }
39 39 .metasync-layout-promo {
40 - display: none;
40 + grid-column: 2;
41 + grid-row: 2;
42 + position: static;
41 43 }
42 44 }
43 45
44 46 @media (max-width: 900px) {
@@ -47,18 +49,24 @@
47 49 }
48 50 .metasync-layout-nav {
49 51 display: none;
50 52 }
53 + .metasync-layout-promo {
54 + position: static;
55 + }
51 56 }
52 57
53 58 /* ── Left sidebar nav ────────────────────────────────────────────────── */
54 59
55 60 .metasync-layout-nav {
61 + position: -webkit-sticky;
56 62 position: sticky;
63 + align-self: start;
57 64 top: 52px; /* WP admin bar (32px) + breathing room */
58 65 max-height: calc(100vh - 72px);
59 66 overflow-y: auto;
60 67 overflow-x: hidden;
68 + min-width: 0; /* prevent grid blowout */
61 69 background: var(--dashboard-card-bg);
62 70 border: 1px solid var(--dashboard-border);
63 71 border-radius: 12px;
64 72 padding: 8px;
@@ -187,11 +195,14 @@
187 195
188 196 /* ── Right promotional sidebar ──────────────────────────────────────── */
189 197
190 198 .metasync-layout-promo {
199 + position: -webkit-sticky;
191 200 position: sticky;
201 + align-self: start;
192 202 top: 52px;
193 203 display: flex;
204 + min-width: 0; /* allow sticky column to shrink within its grid cell */
194 205 flex-direction: column;
195 206 gap: 16px;
196 207 }
197 208
@@ -473,8 +484,52 @@
473 484 }
474 485
475 486 .metasync-header-compact .metasync-status.connected .status-text {
476 487 color: var(--dashboard-success);
488 +}
489 +
490 +.metasync-header-compact .metasync-status.disconnected .status-text {
491 + color: var(--dashboard-error);
492 +}
493 +
494 +.metasync-header-compact .metasync-status.warning .status-dot {
495 + background: var(--dashboard-warning, #ffb900);
496 +}
497 +
498 +.metasync-header-compact .metasync-status.warning .status-text {
499 + color: var(--dashboard-warning, #ffb900);
500 +}
501 +
502 +/* ── Static header connection status (render_static_header) ─────────── */
503 +/* the static-header badge previously had no styling; mirror the
504 + compact-header rules so connected / disconnected / warning render. */
505 +
506 +.metasync-header .metasync-status {
507 + display: flex;
508 + align-items: center;
509 + gap: 6px;
510 + font-size: 12px;
511 + color: var(--dashboard-text-secondary);
512 +}
513 +
514 +.metasync-header .metasync-status .status-dot {
515 + width: 7px;
516 + height: 7px;
517 + border-radius: 50%;
518 + flex-shrink: 0;
519 + background: var(--dashboard-error);
520 +}
521 +
522 +.metasync-header .metasync-status.connected .status-dot {
523 + background: var(--dashboard-success);
524 +}
525 +
526 +.metasync-header .metasync-status.connected .status-text {
527 + color: var(--dashboard-success);
528 +}
529 +
530 +.metasync-header .metasync-status.disconnected .status-text {
531 + color: var(--dashboard-error);
477 532 }
478 533
479 534 /* ── Theme toggle icon sizing ────────────────────────────────────────── */
480 535