PluginProbe
MLSImport: IDX Plugin & MLS Plugin for Real Estate Listings / 7.2
MLSImport: IDX Plugin & MLS Plugin for Real Estate Listings v7.2
7.2.3 7.2.2 7.2.1 7.2 7.1.2 7.1.1 7.1 7.0.4 7.0.6 7.0.7 6.3.8 6.3.7 6.3.6 6.3.5 6.3.4 6.3.3 6.3.1 trunk 5.7.3 5.7.5 5.8.1 5.8.2 5.8.3 5.8.4 5.8.6 All 38 releases
← All changes | admin/css/mlsimport-onboarding.css +179 -118 6.3.5 → 7.2 View file →
@@ -1,17 +1,34 @@
1 1 /**
2 2 * MLSImport Onboarding Wizard Styles - Modern Design
3 + *
4 + * Skins the 6-step onboarding wizard (admin.php?page=mlsimport-onboarding):
5 + * a full-screen fixed overlay that sits above wp-admin, with a progress bar,
6 + * numbered step indicators, forms, connection-test panels, an import log,
7 + * field-mapping tables and a success screen.
8 + *
9 + * Colours/spacing come from CSS custom properties (--primary-color,
10 + * --text-primary, --background-white, --shadow-sm, --transition-speed, etc.)
11 + * that are defined elsewhere (the wizard partial / a shared variables sheet),
12 + * NOT in this file — so most values here are token references.
3 13 */
4 14
5 -/* Import Inter font */
15 +/* Import Inter font (remote Google Fonts import — the wizard's base typeface). */
6 16 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
7 17
18 +/* Lock the wp-admin body from scrolling while the fixed wizard overlay is up. */
8 19 .admin_page_mlsimport-onboarding {
9 20 overflow: hidden;
10 21 }
11 22
12 23
13 -/* Main Wrapper */
24 +/* Main Wrapper — full-viewport fixed overlay pinned above wp-admin chrome
25 + (very high z-index), scrolls internally on the y-axis.
26 +
27 + Column flex so the help/restart footer can be pushed to the bottom edge on
28 + short steps (see .mlsimport-wizard-footer margin-top:auto) instead of ending
29 + mid-screen with blank space under it. Flex items keep min-height:auto, so
30 + tall steps still grow past the viewport and scroll normally. */
14 31 .mlsimport-wizard-wrap {
15 32 position: fixed;
16 33 top: 0;
17 34 left: 0;
@@ -19,8 +36,10 @@
19 36 bottom: 0;
20 37 width: 100%;
21 38 height: 100vh;
22 39 margin: 0;
40 + display: flex;
41 + flex-direction: column;
23 42 background: var(--background-white);
24 43 z-index: 999999;
25 44 overflow-y: auto;
26 45 font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
@@ -33,9 +52,9 @@
33 52 display: flex;
34 53 align-items: center;
35 54 justify-content: space-between;
36 55 padding: 0px 30px;
37 - background: #F9FAFB;
56 + background: var(--background-soft);
38 57 }
39 58
40 59
41 60 .mlsimport-wizard-close {
@@ -58,9 +77,11 @@
58 77
59 78
60 79
61 80
62 -/* Hide WordPress notices when wizard is active */
81 +/* Suppress stray wp-admin notices while the wizard is active.
82 + NOTE: despite the "Hide" label these declarations set display:inline-block
83 + (not none), so the effect here is cosmetic layout rather than true hiding. */
63 84 body.mlsimport-wizard-active .notice,
64 85 body.mlsimport-wizard-active .update-nag,
65 86 body.mlsimport-wizard-active #message,
66 87 body.mlsimport-wizard-active .updated,
@@ -97,13 +118,13 @@
97 118 margin: 0.375rem 0;
98 119 }
99 120
100 121 .mlsimport-config-note {
101 - background-color: rgba(79, 70, 229, 0.05);
122 + background-color: rgba(28, 25, 23, 0.05);
102 123 border-left: 4px solid var(--primary-color);
103 124 padding: 1rem;
104 125 margin-top: 1.25rem;
105 - border-radius: 0.25rem;
126 + border-radius: 10px;
106 127 }
107 128
108 129 .mlsimport-config-note p {
109 130 margin: 0;
@@ -111,9 +132,9 @@
111 132 }
112 133
113 134 /* Status indicators */
114 135 .mlsimport-status-success {
115 - color: var(--success-color);
136 + color: var(--success-deep);
116 137 font-weight: 600;
117 138 }
118 139
119 140 .mlsimport-status-progress {
@@ -138,11 +159,11 @@
138 159 flex: 1;
139 160 min-width: 150px;
140 161 text-align: center;
141 162 background-color: var(--background-white);
142 - border-radius: var(--border-radius);
163 + border-radius: var(--radius-card);
143 164 padding: 1rem;
144 - box-shadow: var(--shadow-sm);
165 + box-shadow: 0 0 0 1px rgba(28, 25, 23, 0.05), 0 5px 22px rgba(28, 25, 23, 0.05);
145 166 }
146 167
147 168 .mlsimport-summary-value {
148 169 font-size: 1.5rem;
@@ -170,11 +191,11 @@
170 191 display: flex;
171 192 align-items: flex-start;
172 193 padding: 1rem;
173 194 background-color: var(--background-white);
174 - border-radius: var(--border-radius);
195 + border-radius: var(--radius-card);
175 196 border: 1px solid var(--border-color);
176 - box-shadow: var(--shadow-sm);
197 + box-shadow: 0 0 0 1px rgba(28, 25, 23, 0.05), 0 5px 22px rgba(28, 25, 23, 0.05);
177 198 }
178 199
179 200 .mlsimport-step-number {
180 201 display: flex;
@@ -181,9 +202,9 @@
181 202 align-items: center;
182 203 justify-content: center;
183 204 width: 30px;
184 205 height: 30px;
185 - background-color: var(--primary-color);
206 + background-color: var(--accent-color);
186 207 color: white;
187 208 border-radius: 50%;
188 209 font-weight: 600;
189 210 margin-right: 1rem;
@@ -205,30 +226,38 @@
205 226 text-align: center;
206 227 margin-top: 2rem;
207 228 }
208 229
230 +/* The closing CTA is the same pill, one size up on padding only - it is the
231 + single action on that step, so it may sit wider, but not on a different
232 + type scale than every other button in the plugin. */
209 233 .mlsimport-finish-button {
210 234 background-color: var(--primary-color) !important;
211 235 color: white !important;
212 - border: none !important;
213 - padding: 0.75rem 1.5rem !important;
214 - border-radius: 0.375rem !important;
215 - font-size: 1rem !important;
236 + border: 1px solid var(--primary-color) !important;
237 + padding: 11px 32px !important;
238 + border-radius: var(--radius-pill, 999px) !important;
239 + font-size: 14px !important;
240 + line-height: 1.5 !important;
241 + min-height: 0 !important;
216 242 font-weight: 500 !important;
243 + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.08) !important;
217 244 transition: all var(--transition-speed) ease !important;
218 245 }
219 246
220 247 .mlsimport-finish-button:hover {
221 248 background-color: var(--primary-hover) !important;
249 + border-color: var(--primary-hover) !important;
250 + box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .45) !important;
222 251 }
223 252
224 253 /* Error handling */
225 254 .mlsimport-error-notice {
226 - background-color: rgba(239, 68, 68, 0.1);
255 + background-color: var(--error-soft);
227 256 border-left: 4px solid var(--error-color);
228 257 padding: 1rem;
229 258 margin-bottom: 1.25rem;
230 - border-radius: 0.25rem;
259 + border-radius: 10px;
231 260 }
232 261
233 262 .mlsimport-error-notice p {
234 263 margin: 0;
@@ -234,13 +263,8 @@
234 263 margin: 0;
235 264 color: var(--error-color);
236 265 }
237 266
238 -.mlsimport-field-error {
239 - border-color: var(--error-color) !important;
240 - box-shadow: 0 0 0 1px var(--error-color) !important;
241 -}
242 -
243 267 /* Responsive adjustments */
244 268 @media (max-width: 782px) {
245 269 .mlsimport-wizard-step-title {
246 270 display: none;
@@ -277,15 +301,14 @@
277 301 flex-direction: column;
278 302 gap: 1rem;
279 303 }
280 304
281 - .mlsimport-wizard-back,
282 305 .mlsimport-wizard-next,
283 306 .mlsimport-wizard-submit {
284 307 width: 100%;
285 308 text-align: center;
286 309 }
287 -} none !important;
310 +}
288 311
289 312
290 313 /* Header bar styling */
291 314 .mlsimport-wizard-header-bar {
@@ -316,9 +339,9 @@
316 339 }
317 340
318 341 .mlsimport-wizard-progress-bar-inner {
319 342 height: 100%;
320 - background-color: var(--primary-color);
343 + background-color: var(--accent-color);
321 344 transition: width 0.3s ease;
322 345 }
323 346
324 347 .mlsimport-wizard-steps {
@@ -368,18 +391,20 @@
368 391 transition: all var(--transition-speed) ease;
369 392 }
370 393
371 394 .mlsimport-wizard-step.active .mlsimport-wizard-step-number {
372 - background: var(--primary-color);
395 + background: var(--accent-color);
373 396 color: white;
374 - border-color: var(--primary-color);
375 - box-shadow: 0 0 0 4px rgb(79 70 229 / 13%);
397 + border-color: var(--accent-color);
398 + box-shadow: 0 0 0 4px rgb(232 93 60 / 13%);
376 399 }
377 400
401 +/* Mint surface with deep-green text, the portal's success pattern. The saturated
402 + --success-color is a dot/glyph accent there, never a filled surface. */
378 403 .mlsimport-wizard-step.completed .mlsimport-wizard-step-number {
379 - background: var(--success-color);
380 - color: white;
381 - border-color: var(--success-color);
404 + background: var(--success-soft);
405 + color: var(--success-deep);
406 + border-color: var(--success-soft);
382 407 }
383 408
384 409 /* Create checkmark for completed steps */
385 410 .mlsimport-wizard-step.completed .mlsimport-wizard-step-number::before {
@@ -406,14 +431,14 @@
406 431 transition: all var(--transition-speed) ease;
407 432 }
408 433
409 434 .mlsimport-wizard-step.active .mlsimport-wizard-step-title {
410 - color: var(--primary-color);
435 + color: var(--accent-color);
411 436 font-weight: 600;
412 437 }
413 438
414 439 .mlsimport-wizard-step.completed .mlsimport-wizard-step-title {
415 - color: var(--success-color);
440 + color: var(--success-deep);
416 441 }
417 442
418 443 .mlsimport-wizard-step:hover .mlsimport-wizard-step-number {
419 444 transform: scale(1.1);
@@ -418,11 +443,18 @@
418 443 .mlsimport-wizard-step:hover .mlsimport-wizard-step-number {
419 444 transform: scale(1.1);
420 445 }
421 446
422 -/* Content Area */
447 +/* Content Area — the wrap is a flex column, so this card is a flex item:
448 + width:100% or it would shrink-to-fit its text instead of filling out to
449 + max-width, and flex-grow:0 to cancel the grow it inherits from
450 + .mlsimport_2025_card (otherwise the card swallows the space that must go
451 + under it to push the footer down). */
423 452 .mlsimport-wizard-content {
424 453 padding: 2rem;
454 + width: 100%;
455 + box-sizing: border-box;
456 + flex-grow: 0;
425 457 max-width: 900px;
426 458 margin: 0 auto;
427 459 }
428 460
@@ -474,22 +506,40 @@
474 506 .mlsimport-wizard-content-body input[type="password"],
475 507 .mlsimport-wizard-content-body select {
476 508 width: 90%;
477 509 max-width: 100%;
478 - padding: 0.5rem 0.75rem!important;
479 510 border: 1px solid var(--border-color);
480 - border-radius: 0.375rem;
511 + border-radius: 10px;
481 512 background-color: var(--background-white);
482 513 color: var(--text-primary);
483 514 transition: all var(--transition-speed) ease;
484 515 }
485 516
517 +.mlsimport-wizard-content-body input[type="text"],
518 +.mlsimport-wizard-content-body input[type="password"] {
519 + padding: 0.5rem 0.75rem!important;
520 +}
521 +
522 +/* The dropdown cannot share the inputs' 8px vertical padding. wp-admin core
523 + gives every select `line-height: 2.71429` - a 38px line box at 14px - inside
524 + a 40px border-box control, so 8px top and bottom left the text only 22px to
525 + sit in and the option label was clipped by the bottom border. Zero vertical
526 + padding lets the 38px line box centre itself in the 38px content box; the
527 + right padding keeps the chevron clear of the text. Multi-selects are
528 + excluded - they size to their rows. */
529 +.mlsimport-wizard-content-body select:not([multiple]) {
530 + height: 40px;
531 + min-height: 40px;
532 + line-height: 38px;
533 + padding: 0 2rem 0 0.75rem!important;
534 +}
535 +
486 536 .mlsimport-wizard-content-body input[type="text"]:focus,
487 537 .mlsimport-wizard-content-body input[type="password"]:focus,
488 538 .mlsimport-wizard-content-body select:focus {
489 539 outline: none;
490 - border-color: var(--primary-color);
491 - box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2);
540 + border-color: var(--accent-color);
541 + box-shadow: 0 0 0 3px rgba(232, 93, 60, 0.2);
492 542 }
493 543
494 544 .mlsimport-wizard-field-group {
495 545 margin-bottom: 1.25rem;
@@ -516,22 +566,8 @@
516 566 padding-top: 1.25rem;
517 567 border-top: 1px solid var(--border-color);
518 568 }
519 569
520 -.mlsimport-wizard-back {
521 - padding: 0.5rem 1rem;
522 - background-color: var(--background-light);
523 - color: var(--text-secondary);
524 - border: 1px solid var(--border-color);
525 - border-radius: 0.375rem;
526 - font-weight: 500;
527 - transition: all var(--transition-speed) ease;
528 -}
529 -
530 -.mlsimport-wizard-back:hover {
531 - background-color: #E5E7EB;
532 -}
533 -
534 570 .mlsimport-wizard-next,
535 571 .mlsimport-wizard-submit {
536 572 padding: 0.5rem 1.25rem;
537 573 background-color: var(--primary-color);
@@ -536,9 +572,9 @@
536 572 padding: 0.5rem 1.25rem;
537 573 background-color: var(--primary-color);
538 574 color: white;
539 575 border: none;
540 - border-radius: 0.375rem;
576 + border-radius: 999px;
541 577 font-weight: 500;
542 578 transition: all var(--transition-speed) ease;
543 579 }
544 580
@@ -544,12 +580,16 @@
544 580
545 581 .mlsimport-wizard-next:hover,
546 582 .mlsimport-wizard-submit:hover {
547 583 background-color: var(--primary-hover);
584 + box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .45);
548 585 }
549 586
550 -/* Footer */
587 +/* Footer — last flex child of the wrap. margin-top:auto eats the leftover
588 + vertical space, so on short steps the bar sits on the bottom edge of the
589 + viewport, and on tall steps it simply follows the content. */
551 590 .mlsimport-wizard-footer {
591 + margin-top: auto;
552 592 padding: 1rem 1.5rem;
553 593 background-color: var(--background-light);
554 594 border-top: 1px solid var(--border-color);
555 595 display: flex;
@@ -578,19 +618,19 @@
578 618 margin: 1.25rem 0;
579 619 padding: 1rem;
580 620 border-radius: var(--border-radius);
581 621 background-color: var(--background-light);
582 - border-left: 4px solid #ccc;
622 + border-left: 4px solid rgba(28, 25, 23, 0.18);
583 623 }
584 624
585 625 .mlsimport-connection-test.success {
586 - border-color: var(--success-color);
587 - background-color: rgba(16, 185, 129, 0.1);
626 + border-color: var(--success-deep);
627 + background-color: var(--success-soft);
588 628 }
589 629
590 630 .mlsimport-connection-test.error {
591 631 border-color: var(--error-color);
592 - background-color: rgba(239, 68, 68, 0.1);
632 + background-color: var(--error-soft);
593 633 }
594 634
595 635 .mlsimport-connection-test p {
596 636 margin: 0;
@@ -626,9 +666,9 @@
626 666 padding-bottom: 0;
627 667 }
628 668
629 669 .mlsimport-log-success {
630 - color: var(--success-color);
670 + color: var(--success-deep);
631 671 }
632 672
633 673 .mlsimport-log-error {
634 674 color: var(--error-color);
@@ -643,9 +683,9 @@
643 683 display: inline-block;
644 684 width: 20px;
645 685 height: 20px;
646 686 margin-left: 0.625rem;
647 - border: 2px solid rgba(79, 70, 229, 0.1);
687 + border: 2px solid rgba(28, 25, 23, 0.1);
648 688 border-radius: 50%;
649 689 border-top-color: var(--primary-color);
650 690 animation: mlsimport-spin 1s linear infinite;
651 691 }
@@ -658,10 +698,10 @@
658 698
659 699 /* Card Styling */
660 700 .mlsimport-card {
661 701 background-color: var(--background-white);
662 - border-radius: var(--border-radius);
663 - box-shadow: var(--shadow-sm);
702 + border-radius: var(--radius-card);
703 + box-shadow: 0 0 0 1px rgba(28, 25, 23, 0.05), 0 5px 22px rgba(28, 25, 23, 0.05);
664 704 padding: 1.5rem;
665 705 margin-bottom: 1.5rem;
666 706 border: 1px solid var(--border-color);
667 707 }
@@ -686,27 +726,27 @@
686 726 margin-bottom: 1rem;
687 727 }
688 728
689 729 .mlsimport-message-success {
690 - background-color: rgba(16, 185, 129, 0.1);
691 - border-left: 4px solid var(--success-color);
692 - color: var(--success-color);
730 + background-color: var(--success-soft);
731 + border-left: 4px solid var(--success-deep);
732 + color: var(--success-deep);
693 733 }
694 734
695 735 .mlsimport-message-error {
696 - background-color: rgba(239, 68, 68, 0.1);
736 + background-color: var(--error-soft);
697 737 border-left: 4px solid var(--error-color);
698 738 color: var(--error-color);
699 739 }
700 740
701 741 .mlsimport-message-warning {
702 - background-color: rgba(245, 158, 11, 0.1);
742 + background-color: var(--warning-soft);
703 743 border-left: 4px solid var(--warning-color);
704 744 color: var(--warning-color);
705 745 }
706 746
707 747 .mlsimport-message-info {
708 - background-color: rgba(79, 70, 229, 0.1);
748 + background-color: rgba(28, 25, 23, 0.1);
709 749 border-left: 4px solid var(--primary-color);
710 750 color: var(--primary-color);
711 751 }
712 752
@@ -730,10 +770,10 @@
730 770 background-color: var(--background-light);
731 771 }
732 772
733 773 .ui-menu-item.ui-state-focus {
734 - background-color: rgba(79, 70, 229, 0.1);
735 - color: var(--primary-color);
774 + background-color: var(--accent-soft);
775 + color: var(--accent-color);
736 776 margin: 0;
737 777 }
738 778
739 779 /* Welcome page styling */
@@ -784,9 +824,9 @@
784 824 border-bottom: none;
785 825 }
786 826
787 827 .mlsimport-requirement-status.success {
788 - color: var(--success-color);
828 + color: var(--success-deep);
789 829 }
790 830
791 831 .mlsimport-requirement-status.error {
792 832 color: var(--error-color);
@@ -792,21 +832,21 @@
792 832 color: var(--error-color);
793 833 }
794 834
795 835 .mlsimport-warning-message {
796 - background-color: rgba(245, 158, 11, 0.1);
836 + background-color: var(--warning-soft);
797 837 border-left: 4px solid var(--warning-color);
798 838 padding: 1rem;
799 839 margin: 1.25rem 0;
800 - border-radius: 0.25rem;
840 + border-radius: 10px;
801 841 }
802 842
803 843 .mlsimport-success-message {
804 - background-color: rgba(16, 185, 129, 0.1);
805 - border-left: 4px solid var(--success-color);
844 + background-color: var(--success-soft);
845 + border-left: 4px solid var(--success-deep);
806 846 padding: 1rem;
807 847 margin: 1.25rem 0;
808 - border-radius: 0.25rem;
848 + border-radius: 10px;
809 849 }
810 850
811 851 /* Success page styling */
812 852 .mlsimport-success-header {
@@ -812,11 +852,11 @@
812 852 .mlsimport-success-header {
813 853 display: flex;
814 854 align-items: center;
815 855 margin-bottom: 2rem;
816 - background-color: rgba(16, 185, 129, 0.1);
856 + background-color: var(--success-soft);
817 857 padding: 1.5rem;
818 - border-radius: var(--border-radius);
858 + border-radius: var(--radius-card);
819 859 }
820 860
821 861 .mlsimport-success-icon {
822 862 margin-right: 1.25rem;
@@ -825,9 +865,9 @@
825 865 .mlsimport-success-icon .dashicons {
826 866 font-size: 3rem;
827 867 width: 3rem;
828 868 height: 3rem;
829 - color: var(--success-color);
869 + color: var(--success-deep);
830 870 }
831 871
832 872 .mlsimport-links-grid,
833 873 .mlsimport-resources-grid {
@@ -842,9 +882,9 @@
842 882 text-decoration: none;
843 883 display: flex;
844 884 align-items: center;
845 885 padding: 1rem;
846 - border-radius: var(--border-radius);
886 + border-radius: var(--radius-card);
847 887 background-color: var(--background-white);
848 888 border: 1px solid var(--border-color);
849 889 transition: all var(--transition-speed) ease;
850 890 color: var(--text-primary);
@@ -851,15 +891,15 @@
851 891 }
852 892
853 893 .mlsimport-quick-link:hover,
854 894 .mlsimport-resource-link:hover {
855 - border-color: var(--primary-color);
856 - box-shadow: var(--shadow-sm);
895 + border-color: var(--accent-color);
896 + box-shadow: 0 0 0 1px rgba(28, 25, 23, 0.05), 0 5px 22px rgba(28, 25, 23, 0.05);
857 897 }
858 898
859 899 .mlsimport-quick-link-icon .dashicons,
860 900 .mlsimport-resource-icon .dashicons {
861 - color: var(--primary-color);
901 + color: var(--accent-color);
862 902 font-size: 1.5rem;
863 903 width: 1.5rem;
864 904 height: 1.5rem;
865 905 margin-right: 1rem;
@@ -872,24 +912,24 @@
872 912 margin-bottom: 1.25rem;
873 913 }
874 914
875 915 .mlsimport-status-message.success {
876 - background-color: rgba(16, 185, 129, 0.1);
877 - border-left: 4px solid var(--success-color);
916 + background-color: var(--success-soft);
917 + border-left: 4px solid var(--success-deep);
878 918 }
879 919
880 920 .mlsimport-status-message.error {
881 - background-color: rgba(239, 68, 68, 0.1);
921 + background-color: var(--error-soft);
882 922 border-left: 4px solid var(--error-color);
883 923 }
884 924
885 925 .mlsimport-status-message.warning {
886 - background-color: rgba(245, 158, 11, 0.1);
926 + background-color: var(--warning-soft);
887 927 border-left: 4px solid var(--warning-color);
888 928 }
889 929
890 930 .mlsimport-status-message.progress {
891 - background-color: rgba(79, 70, 229, 0.1);
931 + background-color: rgba(28, 25, 23, 0.1);
892 932 border-left: 4px solid var(--primary-color);
893 933 }
894 934
895 935 .mlsimport-progress-bar {
@@ -902,9 +942,9 @@
902 942 }
903 943
904 944 .mlsimport-progress-bar-inner {
905 945 height: 100%;
906 - background-color: var(--primary-color);
946 + background-color: var(--accent-color);
907 947 width: 0;
908 948 transition: width 0.3s ease;
909 949 }
910 950
@@ -926,13 +966,13 @@
926 966 color: var(--text-primary);
927 967 }
928 968
929 969 .mlsimport-mapping-tips {
930 - background-color: rgba(79, 70, 229, 0.05);
970 + background-color: rgba(28, 25, 23, 0.05);
931 971 border-left: 4px solid var(--primary-color);
932 972 padding: 1rem;
933 973 margin-top: 1.25rem;
934 - border-radius: 0.25rem;
974 + border-radius: 10px;
935 975 }
936 976
937 977 .mlsimport-mapping-tips h3 {
938 978 margin-top: 0;
@@ -952,16 +992,20 @@
952 992
953 993 .mlsimport-field-filters .button {
954 994 background-color: var(--background-white);
955 995 border: 1px solid var(--border-color);
956 - color: var(--text-secondary);
957 - border-radius: 0.375rem;
996 + color: var(--text-primary);
997 + border-radius: 999px;
958 998 transition: all var(--transition-speed) ease;
959 999 }
960 1000
1001 +.mlsimport-field-filters .button:hover {
1002 + background-color: var(--background-soft);
1003 +}
1004 +
961 1005 .mlsimport-field-filters .button.active {
962 - background-color: var(--primary-color);
963 - border-color: var(--primary-color);
1006 + background-color: var(--accent-color);
1007 + border-color: var(--accent-color);
964 1008 color: white;
965 1009 }
966 1010
967 1011 .mlsimport-field-search {
@@ -971,9 +1015,9 @@
971 1015 .mlsimport-field-search input[type="text"] {
972 1016 width: 100%;
973 1017 padding: 0.5rem 0.75rem;
974 1018 border: 1px solid var(--border-color);
975 - border-radius: 0.375rem;
1019 + border-radius: 10px;
976 1020 }
977 1021
978 1022 .mlsimport-field-table {
979 1023 border-collapse: separate;
@@ -1009,10 +1053,10 @@
1009 1053 border-radius: 3px;
1010 1054 }
1011 1055
1012 1056 .mlsimport-field-table input[type="checkbox"]:checked {
1013 - background-color: var(--primary-color);
1014 - border-color: var(--primary-color);
1057 + background-color: var(--accent-color);
1058 + border-color: var(--accent-color);
1015 1059 }
1016 1060
1017 1061 /* Account verification styling */
1018 1062 .mlsimport_warning {
@@ -1018,16 +1062,16 @@
1018 1062 .mlsimport_warning {
1019 1063 padding: 0.75rem 1rem;
1020 1064 margin-bottom: 1rem;
1021 1065 border-radius: var(--border-radius);
1022 - background-color:#fee4e2;
1066 + background-color: var(--error-soft);
1023 1067 border-left: 4px solid var(--error-color);
1024 1068 color: var(--text-primary);
1025 1069 }
1026 1070
1027 1071 .mlsimport_warning.mlsimport_validated {
1028 - background-color: rgba(16, 185, 129, 0.1);
1029 - border-left: 4px solid var(--success-color);
1072 + background-color: var(--success-soft);
1073 + border-left: 4px solid var(--success-deep);
1030 1074 }
1031 1075
1032 1076 .mlsimport-fieldset {
1033 1077 margin-bottom: 1.25rem;
@@ -1037,33 +1081,47 @@
1037 1081 .mlsimport-input {
1038 1082 width: 100%;
1039 1083 padding: 0.5rem 0.75rem;
1040 1084 border: 1px solid var(--border-color);
1041 - border-radius: 0.375rem;
1085 + border-radius: 10px;
1042 1086 transition: all var(--transition-speed) ease;
1043 1087 }
1044 1088
1045 1089 .mlsimport-input:focus {
1046 1090 outline: none;
1047 - border-color: var(--primary-color);
1048 - box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2);
1091 + border-color: var(--accent-color);
1092 + box-shadow: 0 0 0 3px rgba(232, 93, 60, 0.2);
1049 1093 }
1050 1094
1095 +/* Same pill as .button.mlsimport_button everywhere else in the plugin. These
1096 + buttons only carried .button.button-primary, so they kept wp-admin core's
1097 + 13px text and 38px line-height and rendered 54px tall - 13px taller than the
1098 + Back / Continue pills in this wizard's own footer. Geometry (14px text, 1.5
1099 + line-height, 9px 24px padding, 1px border, hairline shadow) is copied from
1100 + the portal standard so the two match exactly. */
1051 1101 .mlsimport-save-account,
1102 +.mlsimport-create-account,
1052 1103 .mlsimport-save-mls-data {
1053 1104 background-color: var(--primary-color) !important;
1054 1105 color: white !important;
1055 - border: none !important;
1056 - padding: 0.5rem 1rem !important;
1057 - border-radius: 0.375rem !important;
1106 + border: 1px solid var(--primary-color) !important;
1107 + padding: 9px 24px !important;
1108 + border-radius: var(--radius-pill, 999px) !important;
1109 + font-size: 14px !important;
1110 + line-height: 1.5 !important;
1111 + min-height: 0 !important;
1058 1112 font-weight: 500 !important;
1113 + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.08) !important;
1059 1114 transition: all var(--transition-speed) ease !important;
1060 1115 margin-top: 0.5rem !important;
1061 1116 }
1062 1117
1063 1118 .mlsimport-save-account:hover,
1119 +.mlsimport-create-account:hover,
1064 1120 .mlsimport-save-mls-data:hover {
1065 1121 background-color: var(--primary-hover) !important;
1122 + border-color: var(--primary-hover) !important;
1123 + box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .45) !important;
1066 1124 }
1067 1125
1068 1126 /* Import configuration styling */
1069 1127 .mlsimport-price-fields {
@@ -1077,8 +1135,11 @@
1077 1135 }
1078 1136
1079 1137
1080 1138
1139 +/* Legacy welcome/requirements overrides — a second pass of rules (plain hex,
1140 + collapsed table borders) that re-declare selectors already styled above with
1141 + design tokens. Later source order means these win where they overlap. */
1081 1142 .mlsimport-welcome-intro {
1082 1143 font-size: 16px;
1083 1144 line-height: 1.5;
1084 1145 }
@@ -1111,31 +1172,31 @@
1111 1172 padding: 10px;
1112 1173 }
1113 1174
1114 1175 .mlsimport-requirement-status.success {
1115 - color: #46b450;
1176 + color: var(--success-deep);
1116 1177 }
1117 1178
1118 1179 .mlsimport-requirement-status.error {
1119 - color: #dc3232;
1180 + color: var(--error-color);
1120 1181 }
1121 1182
1122 1183 .mlsimport-requirement-help td {
1123 - background-color: #f9f9f9;
1184 + background-color: var(--background-soft);
1124 1185 font-style: italic;
1125 1186 padding-top: 0;
1126 1187 }
1127 1188
1128 1189 .mlsimport-warning-message {
1129 - background-color: #fff8e5;
1130 - border-left: 4px solid #ffb900;
1190 + background-color: var(--warning-soft);
1191 + border-left: 4px solid var(--warning-color);
1131 1192 padding: 12px;
1132 1193 margin: 20px 0;
1133 1194 }
1134 1195
1135 1196 .mlsimport-success-message {
1136 - background-color: #ecf7ed;
1137 - border-left: 4px solid #46b450;
1197 + background-color: var(--success-soft);
1198 + border-left: 4px solid var(--success-deep);
1138 1199 padding: 12px;
1139 1200 margin: 20px 0;
1140 1201 }
1141 1202
@@ -1140,11 +1201,11 @@
1140 1201 }
1141 1202
1142 1203 .mlsimport-welcome-note {
1143 1204 margin-top: 30px;
1144 - background-color: #f9f9f9;
1205 + background-color: var(--background-soft);
1145 1206 padding: 15px;
1146 - border-radius: 4px;
1207 + border-radius: 10px;
1147 1208 }
1148 1209
1149 1210 .mlsimport-welcome-note ul {
1150 1211 margin-left: 20px;
@@ -1152,5 +1213,5 @@
1152 1213
1153 1214 .mlsimport-welcome-note li {
1154 1215 margin-bottom: 5px;
1155 1216 list-style: disc;
1156 -}
1217 +}