PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.5.23
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.5.23
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 / media-optimization / assets / css / media-optimization.css

media-optimization.css in Search Atlas SEO – OTTO AI SEO Automation for WordPress 2.5.23, at media-optimization/assets/css/media-optimization.css

1,355 lines 30.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Media Optimization Admin Page Styles
3 *
4 * @package Search Atlas SEO
5 * @copyright Copyright (C) 2021-2025, Search Atlas Group - support@searchatlas.com
6 * @since 2.6.0
7 */
8
9 /* ── General Layout ── */
10 .metasync-dashboard-wrap .metasync-media-optimization-page {
11 padding: 20px !important;
12 max-width: 100% !important;
13 }
14
15 .metasync-media-container {
16 display: grid;
17 grid-template-columns: 1fr 360px;
18 gap: 24px;
19 margin-top: 20px;
20 width: 100%;
21 }
22
23 .metasync-media-main,
24 .metasync-media-sidebar {
25 width: 100%;
26 min-width: 0;
27 }
28
29 @media (max-width: 1200px) {
30 .metasync-media-container {
31 grid-template-columns: 1fr;
32 }
33 }
34
35 /* Notices */
36 .metasync-notice {
37 display: flex;
38 align-items: center;
39 gap: 10px;
40 padding: 14px 20px;
41 border-radius: 10px;
42 margin-bottom: 20px;
43 font-size: 14px;
44 animation: noticeSlideIn 0.3s ease-out;
45 }
46
47 @keyframes noticeSlideIn {
48 from { opacity: 0; transform: translateY(-10px); }
49 to { opacity: 1; transform: translateY(0); }
50 }
51
52 .metasync-notice-success {
53 background: rgba(16, 185, 129, 0.1);
54 border: 1px solid rgba(16, 185, 129, 0.3);
55 color: #6ee7b7;
56 }
57
58 .metasync-notice-success .dashicons {
59 color: #10b981;
60 }
61
62 /* Cards */
63 .metasync-media-optimization-page .metasync-card {
64 background: var(--dashboard-card-bg, #1a1f26);
65 border: 1px solid var(--dashboard-border, #374151);
66 border-radius: 12px;
67 box-shadow: var(--dashboard-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.3));
68 margin-bottom: 20px;
69 transition: all 0.3s ease;
70 }
71
72 .metasync-media-optimization-page .metasync-card:hover {
73 box-shadow: var(--dashboard-shadow-hover, 0 20px 25px -5px rgba(0, 0, 0, 0.4));
74 transform: translateY(-2px);
75 }
76
77 .metasync-media-optimization-page .metasync-card-header {
78 padding: 20px 24px;
79 border-bottom: 1px solid var(--dashboard-border, #374151);
80 display: flex;
81 justify-content: space-between;
82 align-items: center;
83 background: rgba(102, 126, 234, 0.05);
84 border-radius: 12px 12px 0 0;
85 }
86
87 .metasync-media-optimization-page .metasync-card-header h2,
88 .metasync-media-optimization-page .metasync-card-header h3 {
89 margin: 0;
90 font-size: 17px;
91 font-weight: 600;
92 color: var(--dashboard-text-primary, #ffffff);
93 }
94
95 .metasync-card-title-group {
96 display: flex;
97 flex-direction: column;
98 gap: 4px;
99 }
100
101 .metasync-card-subtitle {
102 font-size: 13px;
103 color: var(--dashboard-text-secondary, #9ca3af);
104 font-weight: 400;
105 }
106
107 .metasync-card-body {
108 padding: 24px;
109 }
110
111 /* Toggle Switch */
112 .metasync-toggle {
113 position: relative;
114 display: inline-block;
115 width: 48px;
116 height: 26px;
117 flex-shrink: 0;
118 }
119
120 .metasync-toggle input {
121 opacity: 0;
122 width: 0;
123 height: 0;
124 }
125
126 .metasync-toggle-slider {
127 position: absolute;
128 cursor: pointer;
129 inset: 0;
130 background: rgba(255, 255, 255, 0.1);
131 border: 1px solid var(--dashboard-border, #374151);
132 border-radius: 26px;
133 transition: all 0.3s ease;
134 }
135
136 .metasync-toggle-slider::before {
137 content: '';
138 position: absolute;
139 height: 20px;
140 width: 20px;
141 left: 2px;
142 bottom: 2px;
143 background: var(--dashboard-text-secondary, #9ca3af);
144 border-radius: 50%;
145 transition: all 0.3s ease;
146 }
147
148 .metasync-toggle input:checked + .metasync-toggle-slider {
149 background: rgba(102, 126, 234, 0.3);
150 border-color: #667eea;
151 }
152
153 .metasync-toggle input:checked + .metasync-toggle-slider::before {
154 transform: translateX(22px);
155 background: #667eea;
156 box-shadow: 0 0 8px rgba(102, 126, 234, 0.5);
157 }
158
159 /* Field Rows */
160 .metasync-field-row {
161 display: grid;
162 grid-template-columns: 1fr 1fr;
163 gap: 24px;
164 margin-bottom: 20px;
165 }
166
167 .metasync-field-row:last-child {
168 margin-bottom: 0;
169 }
170
171 @media (max-width: 768px) {
172 .metasync-field-row {
173 grid-template-columns: 1fr;
174 }
175 }
176
177 .metasync-field label {
178 display: block;
179 font-size: 14px;
180 font-weight: 500;
181 color: var(--dashboard-text-primary, #ffffff);
182 margin-bottom: 8px;
183 }
184
185 .metasync-field select,
186 .metasync-field .metasync-text-input {
187 width: 100%;
188 padding: 10px 14px;
189 background: rgba(0, 0, 0, 0.3);
190 border: 1px solid var(--dashboard-border, #374151);
191 border-radius: 8px;
192 color: var(--dashboard-text-primary, #ffffff);
193 font-size: 14px;
194 transition: all 0.3s ease;
195 box-sizing: border-box;
196 }
197
198 .metasync-field select:focus,
199 .metasync-field .metasync-text-input:focus {
200 border-color: var(--dashboard-accent, #3b82f6);
201 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
202 outline: none;
203 background: rgba(0, 0, 0, 0.4);
204 }
205
206 .metasync-field select option {
207 background: #1a1f26;
208 color: #ffffff;
209 }
210
211 .metasync-field-description {
212 font-size: 12px;
213 color: var(--dashboard-text-secondary, #9ca3af);
214 margin: 8px 0 0;
215 line-height: 1.5;
216 }
217
218 /* Strategy Warning */
219 .metasync-strategy-warning {
220 display: flex;
221 align-items: flex-start;
222 gap: 10px;
223 margin-top: 10px;
224 padding: 12px 16px;
225 background: rgba(239, 68, 68, 0.08);
226 border: 1px solid rgba(239, 68, 68, 0.25);
227 border-radius: 8px;
228 animation: noticeSlideIn 0.3s ease-out;
229 }
230
231 .metasync-strategy-warning .dashicons {
232 color: #ef4444;
233 flex-shrink: 0;
234 margin-top: 1px;
235 }
236
237 .metasync-strategy-warning p {
238 margin: 0;
239 font-size: 13px;
240 line-height: 1.5;
241 color: #fca5a5;
242 }
243
244 /* Range Input */
245 .metasync-range-group {
246 display: flex;
247 align-items: center;
248 gap: 14px;
249 }
250
251 .metasync-range-group input[type="range"] {
252 flex: 1;
253 height: 6px;
254 -webkit-appearance: none;
255 appearance: none;
256 background: rgba(255, 255, 255, 0.1);
257 border-radius: 3px;
258 outline: none;
259 }
260
261 .metasync-range-group input[type="range"]::-webkit-slider-thumb {
262 -webkit-appearance: none;
263 appearance: none;
264 width: 20px;
265 height: 20px;
266 border-radius: 50%;
267 background: var(--dashboard-gradient-primary, linear-gradient(135deg, #667eea 0%, #764ba2 100%));
268 cursor: pointer;
269 box-shadow: 0 2px 6px rgba(102, 126, 234, 0.4);
270 transition: transform 0.2s ease;
271 }
272
273 .metasync-range-group input[type="range"]::-webkit-slider-thumb:hover {
274 transform: scale(1.15);
275 }
276
277 .metasync-range-group input[type="range"]::-moz-range-thumb {
278 width: 20px;
279 height: 20px;
280 border-radius: 50%;
281 background: var(--dashboard-gradient-primary, linear-gradient(135deg, #667eea 0%, #764ba2 100%));
282 cursor: pointer;
283 border: none;
284 box-shadow: 0 2px 6px rgba(102, 126, 234, 0.4);
285 }
286
287 .metasync-range-value {
288 display: inline-flex;
289 align-items: center;
290 justify-content: center;
291 min-width: 44px;
292 padding: 6px 10px;
293 background: rgba(102, 126, 234, 0.15);
294 border: 1px solid rgba(102, 126, 234, 0.3);
295 border-radius: 8px;
296 font-size: 14px;
297 font-weight: 600;
298 color: #667eea;
299 font-family: 'SF Mono', Monaco, Consolas, monospace;
300 }
301
302 /* Number Input */
303 .metasync-number-group {
304 display: flex;
305 align-items: center;
306 gap: 10px;
307 }
308
309 .metasync-number-group input[type="number"] {
310 width: 80px;
311 padding: 10px 14px;
312 background: rgba(0, 0, 0, 0.3);
313 border: 1px solid var(--dashboard-border, #374151);
314 border-radius: 8px;
315 color: var(--dashboard-text-primary, #ffffff);
316 font-size: 14px;
317 text-align: center;
318 transition: all 0.3s ease;
319 }
320
321 .metasync-number-group input[type="number"]:focus {
322 border-color: var(--dashboard-accent, #3b82f6);
323 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
324 outline: none;
325 }
326
327 .metasync-number-suffix {
328 font-size: 13px;
329 color: var(--dashboard-text-secondary, #9ca3af);
330 }
331
332 /* Checkbox Label */
333 .metasync-checkbox-label {
334 display: flex !important;
335 align-items: center;
336 gap: 10px;
337 cursor: pointer;
338 padding: 12px 16px;
339 background: rgba(0, 0, 0, 0.2);
340 border: 1px solid var(--dashboard-border, #374151);
341 border-radius: 8px;
342 transition: all 0.3s ease;
343 }
344
345 .metasync-checkbox-label:hover {
346 background: rgba(102, 126, 234, 0.05);
347 border-color: rgba(102, 126, 234, 0.3);
348 }
349
350 .metasync-checkbox-label input[type="checkbox"] {
351 width: 18px;
352 height: 18px;
353 accent-color: #667eea;
354 flex-shrink: 0;
355 }
356
357 .metasync-checkbox-label span {
358 font-size: 14px;
359 color: var(--dashboard-text-primary, #ffffff);
360 }
361
362 /* Info Box */
363 .metasync-info-box {
364 display: flex;
365 gap: 14px;
366 padding: 16px 20px;
367 background: rgba(59, 130, 246, 0.08);
368 border: 1px solid rgba(59, 130, 246, 0.2);
369 border-radius: 10px;
370 }
371
372 .metasync-info-box .dashicons {
373 color: var(--dashboard-accent, #3b82f6);
374 flex-shrink: 0;
375 margin-top: 2px;
376 }
377
378 .metasync-info-box strong {
379 display: block;
380 font-size: 14px;
381 color: var(--dashboard-text-primary, #ffffff);
382 margin-bottom: 6px;
383 }
384
385 .metasync-info-box p {
386 margin: 0;
387 font-size: 13px;
388 line-height: 1.6;
389 color: var(--dashboard-text-secondary, #9ca3af);
390 }
391
392 /* Form Actions */
393 .metasync-form-actions {
394 display: flex;
395 gap: 12px;
396 flex-wrap: wrap;
397 margin-top: 4px;
398 }
399
400 .metasync-form-actions .button {
401 border-radius: 8px;
402 font-weight: 500;
403 padding: 10px 24px;
404 height: auto;
405 transition: all 0.3s ease;
406 display: inline-flex;
407 align-items: center;
408 gap: 6px;
409 }
410
411 .metasync-form-actions .button-primary {
412 background: var(--dashboard-gradient-primary, linear-gradient(135deg, #667eea 0%, #764ba2 100%));
413 border: none;
414 color: #ffffff;
415 box-shadow: 0 4px 6px rgba(102, 126, 234, 0.3);
416 }
417
418 .metasync-form-actions .button-primary:hover {
419 transform: translateY(-2px);
420 box-shadow: 0 6px 12px rgba(102, 126, 234, 0.4);
421 }
422
423 .metasync-form-actions .button-secondary {
424 background: var(--dashboard-card-hover, #222831);
425 border: 1px solid var(--dashboard-border, #374151);
426 color: var(--dashboard-text-primary, #ffffff);
427 }
428
429 .metasync-form-actions .button-secondary:hover {
430 background: rgba(255, 255, 255, 0.1);
431 border-color: var(--dashboard-accent, #3b82f6);
432 transform: translateY(-1px);
433 }
434
435 /* Sidebar: Capabilities */
436 .metasync-capabilities-list {
437 padding: 20px;
438 }
439
440 .metasync-capability-item {
441 display: flex;
442 justify-content: space-between;
443 align-items: center;
444 padding: 12px 14px;
445 border-bottom: 1px solid var(--dashboard-border, #374151);
446 background: rgba(0, 0, 0, 0.15);
447 border-radius: 8px;
448 margin-bottom: 8px;
449 }
450
451 .metasync-capability-item:last-child {
452 margin-bottom: 0;
453 border-bottom: none;
454 }
455
456 .metasync-capability-label {
457 font-size: 13px;
458 color: var(--dashboard-text-primary, #ffffff);
459 font-weight: 500;
460 }
461
462 .metasync-capability-badge {
463 display: inline-flex;
464 align-items: center;
465 gap: 4px;
466 font-size: 12px;
467 padding: 4px 10px;
468 border-radius: 6px;
469 font-weight: 500;
470 }
471
472 .metasync-capability-badge .dashicons {
473 font-size: 14px;
474 width: 14px;
475 height: 14px;
476 }
477
478 .metasync-badge-success {
479 background: rgba(16, 185, 129, 0.15);
480 color: #6ee7b7;
481 }
482
483 .metasync-badge-warning {
484 background: rgba(245, 158, 11, 0.15);
485 color: #fcd34d;
486 }
487
488 .metasync-badge-error {
489 background: rgba(239, 68, 68, 0.15);
490 color: #fca5a5;
491 }
492
493 /* Sidebar: Feature Status */
494 .metasync-feature-status-list {
495 padding: 20px;
496 }
497
498 .metasync-feature-status-item {
499 display: flex;
500 align-items: center;
501 gap: 10px;
502 padding: 10px 14px;
503 background: rgba(0, 0, 0, 0.15);
504 border-radius: 8px;
505 margin-bottom: 8px;
506 font-size: 13px;
507 color: var(--dashboard-text-primary, #ffffff);
508 }
509
510 .metasync-feature-status-item:last-child {
511 margin-bottom: 0;
512 }
513
514 .metasync-feature-dot {
515 width: 10px;
516 height: 10px;
517 border-radius: 50%;
518 flex-shrink: 0;
519 }
520
521 .metasync-feature-dot.active {
522 background: #10b981;
523 box-shadow: 0 0 8px rgba(16, 185, 129, 0.5);
524 }
525
526 .metasync-feature-dot.inactive {
527 background: var(--dashboard-text-secondary, #9ca3af);
528 opacity: 0.4;
529 }
530
531 .metasync-feature-format {
532 margin-left: auto;
533 font-size: 11px;
534 font-weight: 600;
535 color: #667eea;
536 background: rgba(102, 126, 234, 0.15);
537 padding: 2px 8px;
538 border-radius: 4px;
539 }
540
541 .metasync-feature-format:empty {
542 display: none;
543 }
544
545 /* Tips / Warnings List */
546 .metasync-media-optimization-page .metasync-warnings-list {
547 margin: 0;
548 padding: 20px;
549 list-style: none;
550 }
551
552 .metasync-media-optimization-page .metasync-warnings-list li {
553 display: flex;
554 gap: 12px;
555 margin-bottom: 14px;
556 font-size: 13px;
557 line-height: 1.6;
558 color: var(--dashboard-text-secondary, #9ca3af);
559 padding: 12px;
560 background: rgba(0, 0, 0, 0.15);
561 border-radius: 8px;
562 border-left: 3px solid var(--dashboard-border, #374151);
563 transition: all 0.3s ease;
564 }
565
566 .metasync-media-optimization-page .metasync-warnings-list li:hover {
567 background: rgba(102, 126, 234, 0.05);
568 transform: translateX(4px);
569 }
570
571 .metasync-media-optimization-page .metasync-warnings-list li:last-child {
572 margin-bottom: 0;
573 }
574
575 .metasync-media-optimization-page .metasync-warnings-list .dashicons {
576 flex-shrink: 0;
577 margin-top: 2px;
578 }
579
580 /* Toggle section animation */
581 .metasync-toggle-section {
582 overflow: hidden;
583 transition: all 0.3s ease;
584 }
585
586 /* ── Tab Navigation ── */
587 .metasync-media-optimization-page .metasync-tabs {
588 margin: 0 0 20px 0;
589 background: var(--dashboard-card-bg);
590 border: 1px solid var(--dashboard-border);
591 border-radius: 12px;
592 padding: 6px;
593 box-shadow: var(--dashboard-shadow);
594 }
595
596 .metasync-media-optimization-page .metasync-tab-nav {
597 border-bottom: none;
598 margin: 0;
599 padding: 0;
600 display: flex;
601 gap: 4px;
602 background: transparent;
603 list-style: none;
604 }
605
606 .metasync-media-optimization-page .metasync-tab-nav li {
607 display: inline-block;
608 margin: 0;
609 }
610
611 .metasync-media-optimization-page .metasync-tab-nav a {
612 display: block;
613 padding: 12px 20px;
614 text-decoration: none;
615 color: var(--dashboard-text-secondary);
616 border-bottom: none;
617 border-radius: 8px;
618 transition: all 0.3s ease;
619 font-weight: 500;
620 font-size: 14px;
621 background: transparent;
622 position: relative;
623 overflow: hidden;
624 }
625
626 .metasync-media-optimization-page .metasync-tab-nav a:hover {
627 color: var(--dashboard-text-primary);
628 background: rgba(255, 255, 255, 0.05);
629 }
630
631 .metasync-media-optimization-page .metasync-tab-nav a.active {
632 color: var(--dashboard-text-primary);
633 background: var(--dashboard-card-hover);
634 box-shadow: var(--dashboard-shadow);
635 font-weight: 600;
636 }
637
638 .metasync-media-optimization-page .metasync-tab-nav a.active::after {
639 content: '';
640 position: absolute;
641 bottom: 0;
642 left: 0;
643 right: 0;
644 height: 2px;
645 background: var(--dashboard-accent);
646 border-radius: 1px;
647 }
648
649 .metasync-media-optimization-page .metasync-tab-content {
650 display: none;
651 }
652
653 .metasync-media-optimization-page .metasync-tab-content.active {
654 display: block;
655 }
656
657 /* ══════════════════════════════════════════
658 Image Library Styles
659 ══════════════════════════════════════════ */
660
661 /* ── Stats Card ── */
662 .metasync-stats-card {
663 margin-bottom: 20px;
664 }
665
666 .metasync-stats-row {
667 display: flex;
668 gap: 30px;
669 align-items: center;
670 padding: 20px;
671 }
672
673 .metasync-stat-item {
674 display: flex;
675 flex-direction: column;
676 gap: 4px;
677 }
678
679 .metasync-stat-number {
680 font-size: 28px;
681 font-weight: 700;
682 color: var(--dashboard-text-primary);
683 line-height: 1;
684 }
685
686 .metasync-stat-success .metasync-stat-number {
687 color: var(--dashboard-success);
688 }
689
690 .metasync-stat-pending .metasync-stat-number {
691 color: var(--dashboard-warning);
692 }
693
694 .metasync-stat-label {
695 font-size: 12px;
696 color: var(--dashboard-text-secondary);
697 text-transform: uppercase;
698 letter-spacing: 0.5px;
699 }
700
701 .metasync-stat-progress-wrap {
702 display: flex;
703 align-items: center;
704 gap: 10px;
705 }
706
707 .metasync-stat-progress-bar {
708 width: 120px;
709 height: 8px;
710 background: var(--dashboard-border);
711 border-radius: 4px;
712 overflow: hidden;
713 }
714
715 .metasync-stat-progress-fill {
716 height: 100%;
717 background: var(--dashboard-gradient-primary);
718 border-radius: 4px;
719 transition: width 0.5s ease;
720 }
721
722 .metasync-stat-percentage {
723 font-size: 20px;
724 font-weight: 700;
725 color: var(--dashboard-text-primary);
726 }
727
728 /* ── Batch Progress ── */
729 .metasync-batch-card {
730 margin-bottom: 20px;
731 padding: 20px;
732 border-left: 3px solid var(--dashboard-accent);
733 }
734
735 .metasync-batch-header {
736 display: flex;
737 justify-content: space-between;
738 align-items: center;
739 margin-bottom: 12px;
740 }
741
742 .metasync-batch-info {
743 display: flex;
744 align-items: center;
745 gap: 10px;
746 }
747
748 .metasync-batch-spinner {
749 width: 18px;
750 height: 18px;
751 border: 2px solid var(--dashboard-border);
752 border-top-color: var(--dashboard-accent);
753 border-radius: 50%;
754 animation: metasync-spin 0.8s linear infinite;
755 }
756
757 @keyframes metasync-spin {
758 to { transform: rotate(360deg); }
759 }
760
761 .metasync-batch-text {
762 color: var(--dashboard-text-primary);
763 font-weight: 500;
764 }
765
766 .metasync-batch-progress-bar {
767 width: 100%;
768 height: 6px;
769 background: var(--dashboard-border);
770 border-radius: 3px;
771 overflow: hidden;
772 margin-bottom: 8px;
773 }
774
775 .metasync-batch-progress-fill {
776 height: 100%;
777 background: var(--dashboard-gradient-primary);
778 border-radius: 3px;
779 transition: width 0.3s ease;
780 }
781
782 .metasync-batch-details {
783 font-size: 13px;
784 color: var(--dashboard-text-secondary);
785 }
786
787 .metasync-batch-failed {
788 color: var(--dashboard-error);
789 font-weight: 600;
790 }
791
792 /* ── Batch Complete ── */
793 .metasync-batch-complete-card {
794 margin-bottom: 20px;
795 padding: 14px 20px;
796 display: flex;
797 align-items: center;
798 gap: 10px;
799 border-left: 3px solid var(--dashboard-success);
800 color: var(--dashboard-text-primary);
801 }
802
803 .metasync-batch-complete-card .metasync-dismiss-btn {
804 margin-left: auto;
805 background: none;
806 border: none;
807 color: var(--dashboard-text-secondary);
808 cursor: pointer;
809 padding: 0;
810 }
811
812 .metasync-batch-complete-card .metasync-dismiss-btn:hover {
813 color: var(--dashboard-text-primary);
814 }
815
816 /* ── Unified Toolbar (Optimize All + Search) ── */
817 .metasync-table-toolbar {
818 display: flex;
819 align-items: center;
820 justify-content: space-between;
821 gap: 12px;
822 margin-bottom: 16px;
823 background: var(--dashboard-card-bg);
824 border: 1px solid var(--dashboard-border);
825 border-radius: 8px;
826 padding: 16px 20px;
827 }
828
829 .metasync-toolbar-left {
830 display: flex;
831 align-items: center;
832 gap: 8px;
833 }
834
835 .metasync-toolbar-right {
836 display: flex;
837 align-items: center;
838 gap: 6px;
839 }
840
841 .metasync-toolbar-right .search-box {
842 float: none !important;
843 display: flex;
844 align-items: center;
845 gap: 6px;
846 margin: 0 !important;
847 padding: 0 !important;
848 }
849
850 .metasync-toolbar-right .search-box label {
851 display: none;
852 }
853
854 .metasync-toolbar-right .search-box input[type="search"],
855 .metasync-toolbar-right .search-box input[type="text"] {
856 background: var(--dashboard-card-bg);
857 color: var(--dashboard-text-primary);
858 border: 1px solid var(--dashboard-border);
859 border-radius: 6px;
860 padding: 6px 12px;
861 height: 32px;
862 line-height: 32px;
863 font-size: 13px;
864 min-width: 200px;
865 box-sizing: border-box;
866 }
867
868 .metasync-toolbar-right .search-box input[type="search"]:focus,
869 .metasync-toolbar-right .search-box input[type="text"]:focus {
870 border-color: var(--dashboard-accent);
871 outline: none;
872 box-shadow: 0 0 0 1px var(--dashboard-accent);
873 }
874
875 .metasync-toolbar-right .search-box .button {
876 background: var(--dashboard-card-bg);
877 color: var(--dashboard-text-primary);
878 border: 1px solid var(--dashboard-border);
879 border-radius: 6px;
880 height: 32px;
881 line-height: 30px;
882 padding: 0 14px;
883 font-size: 13px;
884 cursor: pointer;
885 box-sizing: border-box;
886 }
887
888 .metasync-toolbar-right .search-box .button:hover {
889 background: var(--dashboard-card-hover);
890 border-color: var(--dashboard-text-secondary);
891 }
892
893 #metasync-optimize-all {
894 display: inline-flex;
895 align-items: center;
896 gap: 6px;
897 height: 32px;
898 padding: 0 16px;
899 font-size: 13px;
900 font-weight: 600;
901 border-radius: 6px;
902 background: var(--dashboard-gradient-primary);
903 border: none;
904 color: #fff;
905 cursor: pointer;
906 white-space: nowrap;
907 transition: opacity 0.2s;
908 }
909
910 #metasync-optimize-all:hover {
911 opacity: 0.9;
912 }
913
914 #metasync-optimize-all:disabled {
915 opacity: 0.5;
916 cursor: not-allowed;
917 }
918
919 #metasync-optimize-all .dashicons {
920 font-size: 16px;
921 width: 16px;
922 height: 16px;
923 margin-top: 0;
924 }
925
926 .metasync-count-badge {
927 display: inline-block;
928 background: rgba(255, 255, 255, 0.2);
929 padding: 1px 8px;
930 border-radius: 10px;
931 font-size: 11px;
932 font-weight: 700;
933 }
934
935 /* ── Tablenav (Bulk Actions + Filter | Pagination) ── */
936 #metasync-image-library-form .tablenav {
937 display: flex;
938 align-items: center;
939 gap: 10px;
940 height: auto;
941 padding: 14px 20px;
942 margin: 0;
943 float: none;
944 background: var(--dashboard-card-bg);
945 border: 1px solid var(--dashboard-border);
946 border-radius: 8px;
947 }
948
949 #metasync-image-library-form .tablenav.top {
950 margin-bottom: -1px;
951 border-bottom-left-radius: 0;
952 border-bottom-right-radius: 0;
953 }
954
955 #metasync-image-library-form .tablenav.bottom {
956 margin-top: -1px;
957 border-top-left-radius: 0;
958 border-top-right-radius: 0;
959 }
960
961 #metasync-image-library-form .tablenav .actions {
962 float: none;
963 display: flex;
964 align-items: center;
965 gap: 6px;
966 padding: 0;
967 margin: 0;
968 }
969
970 #metasync-image-library-form .tablenav .bulkactions {
971 margin: 0;
972 }
973
974 #metasync-image-library-form .tablenav .tablenav-pages {
975 float: none;
976 margin-left: auto;
977 display: flex;
978 align-items: center;
979 gap: 6px;
980 }
981
982 #metasync-image-library-form .tablenav br.clear {
983 display: none;
984 }
985
986 /* ── Tablenav Inputs (select, button) ── */
987 #metasync-image-library-form .tablenav select {
988 background: var(--dashboard-card-bg);
989 color: var(--dashboard-text-primary);
990 border: 1px solid var(--dashboard-border);
991 border-radius: 6px;
992 height: 34px;
993 line-height: 32px;
994 padding: 0 10px;
995 font-size: 13px;
996 box-sizing: border-box;
997 }
998
999 #metasync-image-library-form .tablenav .actions .button {
1000 background: var(--dashboard-card-hover);
1001 color: var(--dashboard-text-primary);
1002 border: 1px solid var(--dashboard-border);
1003 border-radius: 6px;
1004 height: 34px;
1005 line-height: 32px;
1006 padding: 0 14px;
1007 font-size: 13px;
1008 box-sizing: border-box;
1009 cursor: pointer;
1010 transition: all 0.15s ease;
1011 }
1012
1013 #metasync-image-library-form .tablenav .actions .button:hover {
1014 background: var(--dashboard-card-hover);
1015 border-color: var(--dashboard-text-secondary);
1016 }
1017
1018 /* ── Pagination ── */
1019 #metasync-image-library-form .tablenav-pages .pagination-links {
1020 display: flex;
1021 align-items: center;
1022 gap: 4px;
1023 }
1024
1025 #metasync-image-library-form .tablenav-pages .button,
1026 #metasync-image-library-form .tablenav-pages .tablenav-pages-navspan {
1027 background: var(--dashboard-card-hover);
1028 color: var(--dashboard-text-secondary);
1029 border: 1px solid var(--dashboard-border);
1030 border-radius: 6px;
1031 padding: 0 10px;
1032 min-width: 34px;
1033 height: 34px;
1034 line-height: 32px;
1035 text-align: center;
1036 font-size: 14px;
1037 box-sizing: border-box;
1038 transition: all 0.15s ease;
1039 }
1040
1041 #metasync-image-library-form .tablenav-pages .button:hover {
1042 background: var(--dashboard-accent);
1043 color: #fff;
1044 border-color: var(--dashboard-accent);
1045 }
1046
1047 #metasync-image-library-form .tablenav-pages .tablenav-pages-navspan.disabled {
1048 opacity: 0.4;
1049 }
1050
1051 #metasync-image-library-form .tablenav-pages .current-page {
1052 background: var(--dashboard-card-bg);
1053 color: var(--dashboard-text-primary);
1054 border: 1px solid var(--dashboard-border);
1055 border-radius: 6px;
1056 width: 42px;
1057 height: 34px;
1058 line-height: 32px;
1059 text-align: center;
1060 font-size: 13px;
1061 box-sizing: border-box;
1062 }
1063
1064 #metasync-image-library-form .tablenav-pages .current-page:focus {
1065 border-color: var(--dashboard-accent);
1066 outline: none;
1067 box-shadow: 0 0 0 1px var(--dashboard-accent);
1068 }
1069
1070 #metasync-image-library-form .tablenav .displaying-num {
1071 color: var(--dashboard-text-secondary);
1072 font-size: 13px;
1073 margin-right: 8px;
1074 }
1075
1076 #metasync-image-library-form .tablenav .paging-input {
1077 font-size: 13px;
1078 color: var(--dashboard-text-secondary);
1079 display: inline-flex;
1080 align-items: center;
1081 gap: 6px;
1082 }
1083
1084 /* ── List Table Dark Theme ── */
1085 #metasync-image-library-form .wp-list-table {
1086 border: 1px solid var(--dashboard-border);
1087 border-radius: 0;
1088 overflow: hidden;
1089 border-collapse: separate;
1090 border-spacing: 0;
1091 margin-top: -1px;
1092 margin-bottom: -1px;
1093 }
1094
1095 #metasync-image-library-form .wp-list-table thead th,
1096 #metasync-image-library-form .wp-list-table thead td {
1097 background: var(--dashboard-card-bg);
1098 color: var(--dashboard-text-secondary);
1099 border-bottom: 1px solid var(--dashboard-border);
1100 font-weight: 600;
1101 font-size: 12px;
1102 text-transform: uppercase;
1103 letter-spacing: 0.5px;
1104 padding: 12px 10px;
1105 }
1106
1107 #metasync-image-library-form .wp-list-table thead th a {
1108 color: var(--dashboard-text-secondary);
1109 }
1110
1111 #metasync-image-library-form .wp-list-table thead th a:hover {
1112 color: var(--dashboard-text-primary);
1113 }
1114
1115 #metasync-image-library-form .wp-list-table tbody tr {
1116 background: var(--dashboard-card-bg);
1117 }
1118
1119 #metasync-image-library-form .wp-list-table tbody tr:hover {
1120 background: var(--dashboard-card-hover);
1121 }
1122
1123 #metasync-image-library-form .wp-list-table tbody td {
1124 color: var(--dashboard-text-primary);
1125 border-bottom: 1px solid var(--dashboard-border);
1126 padding: 10px;
1127 vertical-align: middle;
1128 }
1129
1130 #metasync-image-library-form .wp-list-table tfoot th,
1131 #metasync-image-library-form .wp-list-table tfoot td {
1132 background: var(--dashboard-card-bg);
1133 color: var(--dashboard-text-secondary);
1134 border-top: 1px solid var(--dashboard-border);
1135 padding: 12px 10px;
1136 }
1137
1138 /* Column widths */
1139 #metasync-image-library-form .wp-list-table .column-cb { width: 30px; }
1140 #metasync-image-library-form .wp-list-table .column-image { width: 40%; }
1141 #metasync-image-library-form .wp-list-table .column-post { width: 25%; }
1142 #metasync-image-library-form .wp-list-table .column-status { width: 15%; }
1143 #metasync-image-library-form .wp-list-table .column-actions { width: 15%; }
1144
1145 /* ── Image Cell ── */
1146 .metasync-image-cell {
1147 display: flex;
1148 align-items: center;
1149 gap: 12px;
1150 }
1151
1152 .metasync-image-thumb img {
1153 border-radius: 4px;
1154 display: block;
1155 }
1156
1157 .metasync-image-info {
1158 display: flex;
1159 flex-direction: column;
1160 gap: 2px;
1161 min-width: 0;
1162 }
1163
1164 .metasync-image-filename {
1165 color: var(--dashboard-text-primary);
1166 font-size: 13px;
1167 }
1168
1169 .metasync-image-url {
1170 display: flex;
1171 align-items: center;
1172 gap: 4px;
1173 }
1174
1175 .metasync-image-url a {
1176 color: var(--dashboard-text-secondary);
1177 font-size: 12px;
1178 text-decoration: none;
1179 overflow: hidden;
1180 text-overflow: ellipsis;
1181 white-space: nowrap;
1182 }
1183
1184 .metasync-image-url a:hover {
1185 color: var(--dashboard-accent);
1186 }
1187
1188 /* ── Copy Button ── */
1189 .metasync-copy-btn {
1190 background: none;
1191 border: none;
1192 color: var(--dashboard-text-secondary);
1193 cursor: pointer;
1194 padding: 2px;
1195 border-radius: 3px;
1196 display: inline-flex;
1197 align-items: center;
1198 justify-content: center;
1199 transition: all 0.2s ease;
1200 }
1201
1202 .metasync-copy-btn:hover {
1203 color: var(--dashboard-accent);
1204 background: rgba(59, 130, 246, 0.1);
1205 }
1206
1207 .metasync-copy-btn .dashicons {
1208 font-size: 14px;
1209 width: 14px;
1210 height: 14px;
1211 }
1212
1213 .metasync-copy-btn.copied {
1214 color: var(--dashboard-success);
1215 }
1216
1217 /* ── Status Badges ── */
1218 .metasync-status-badge {
1219 display: inline-block;
1220 padding: 4px 10px;
1221 border-radius: 12px;
1222 font-size: 12px;
1223 font-weight: 600;
1224 letter-spacing: 0.3px;
1225 }
1226
1227 .metasync-status-optimized {
1228 background: rgba(16, 185, 129, 0.15);
1229 color: var(--dashboard-success);
1230 }
1231
1232 .metasync-status-unoptimized {
1233 background: rgba(156, 163, 175, 0.15);
1234 color: var(--dashboard-text-secondary);
1235 }
1236
1237 /* ── Size Savings ── */
1238 .metasync-size-savings {
1239 display: flex;
1240 flex-direction: column;
1241 gap: 1px;
1242 margin-top: 6px;
1243 font-size: 12px;
1244 line-height: 1.4;
1245 }
1246
1247 .metasync-savings-pct {
1248 color: var(--dashboard-success);
1249 font-weight: 600;
1250 }
1251
1252 .metasync-savings-detail {
1253 color: var(--dashboard-text-secondary);
1254 font-size: 11px;
1255 }
1256
1257 /* ── Unoptimized Size Info ── */
1258 .metasync-size-info {
1259 margin-top: 6px;
1260 }
1261
1262 .metasync-size-detail {
1263 color: var(--dashboard-text-secondary);
1264 font-size: 12px;
1265 }
1266
1267 /* ── Muted Text ── */
1268 .metasync-text-muted {
1269 color: var(--dashboard-text-secondary);
1270 font-style: italic;
1271 }
1272
1273 /* ── Post Link Rows ── */
1274 .metasync-post-link-row {
1275 display: flex;
1276 align-items: center;
1277 gap: 4px;
1278 }
1279 .metasync-post-link-row + .metasync-post-link-row {
1280 margin-top: 4px;
1281 }
1282
1283 /* ── Action Buttons ── */
1284 .metasync-optimize-btn,
1285 .metasync-revert-btn {
1286 display: inline-flex !important;
1287 align-items: center;
1288 gap: 4px;
1289 }
1290
1291 .metasync-optimize-btn .dashicons,
1292 .metasync-revert-btn .dashicons {
1293 font-size: 14px;
1294 width: 14px;
1295 height: 14px;
1296 }
1297
1298 .metasync-optimize-btn.loading,
1299 .metasync-revert-btn.loading {
1300 opacity: 0.7;
1301 pointer-events: none;
1302 }
1303
1304 /* ── No Items ── */
1305 #metasync-image-library-form .wp-list-table .no-items td {
1306 text-align: center;
1307 padding: 40px 20px;
1308 color: var(--dashboard-text-secondary);
1309 font-size: 14px;
1310 }
1311
1312 /* ── Checkbox ── */
1313 #metasync-image-library-form .wp-list-table .column-cb,
1314 #metasync-image-library-form .wp-list-table .check-column {
1315 vertical-align: middle;
1316 text-align: center;
1317 }
1318
1319 #metasync-image-library-form .wp-list-table input[type="checkbox"] {
1320 margin: 0;
1321 vertical-align: middle;
1322 }
1323
1324 /* ── Screen reader text ── */
1325 #metasync-image-library-form .screen-reader-text {
1326 clip: rect(1px, 1px, 1px, 1px);
1327 position: absolute !important;
1328 height: 1px;
1329 width: 1px;
1330 overflow: hidden;
1331 }
1332
1333 /* ── Responsive ── */
1334 @media screen and (max-width: 782px) {
1335 .metasync-stats-row {
1336 flex-wrap: wrap;
1337 gap: 20px;
1338 }
1339
1340 .metasync-stat-item {
1341 min-width: 80px;
1342 }
1343
1344 .metasync-table-toolbar {
1345 flex-direction: column;
1346 align-items: stretch;
1347 }
1348
1349 .metasync-toolbar-right .search-box input[type="search"],
1350 .metasync-toolbar-right .search-box input[type="text"] {
1351 min-width: 0;
1352 flex: 1;
1353 }
1354 }
1355