PluginProbe
MLSImport: IDX Plugin & MLS Plugin for Real Estate Listings / 7.2.1
MLSImport: IDX Plugin & MLS Plugin for Real Estate Listings v7.2.1
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 6.0.4 6.0.5 All 36 releases
mlsimport / admin / css / mlsimport-connections.css

mlsimport-connections.css in MLSImport: IDX Plugin & MLS Plugin for Real Estate Listings 7.2.1, at admin/css/mlsimport-connections.css

409 lines 8.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Connections tab styles (issue #280) — field_options "2025" admin style.
3 *
4 * Design tokens (--primary-color, --accent-color, --border-color, ...) come
5 * from the :root block in mlsimport-admin.css, which always loads with this
6 * file. Layout follows the locked #271 prototype: account bar, plan slot
7 * strip, roomy connections table with priority badges and per-row status
8 * pills, and the amber failure banner row under a failing connection.
9 */
10
11 /* The tab fills the 2025 card instead of the narrow form column. */
12 .mlsimport-connections {
13 width: 100%;
14 font-size: 13px;
15 color: var(--text-primary);
16 }
17
18 .mlsimport-conn-muted {
19 color: var(--text-secondary);
20 }
21
22 /* ===== 1. Account block (summary bar / inline connect form) ===== */
23
24 .mlsimport-conn-account {
25 display: flex;
26 align-items: center;
27 gap: 14px;
28 border: 1px solid var(--border-color);
29 border-radius: 14px;
30 padding: 16px 18px;
31 margin-bottom: 16px;
32 background: #fff;
33 }
34
35 .mlsimport-conn-account.is-signedout {
36 align-items: flex-start;
37 }
38
39 .mlsimport-conn-account-icon {
40 width: 34px;
41 height: 34px;
42 border-radius: 50%;
43 display: inline-flex;
44 align-items: center;
45 justify-content: center;
46 font-weight: 700;
47 font-size: 16px;
48 flex: none;
49 }
50
51 .mlsimport-conn-account-icon.is-ok {
52 background: #e6f4ea;
53 color: #1a7f37;
54 }
55
56 .mlsimport-conn-account-icon.is-warn {
57 background: #fff3d6;
58 color: #9a6700;
59 }
60
61 .mlsimport-conn-account-who {
62 display: flex;
63 flex-direction: column;
64 }
65
66 .mlsimport-conn-account-actions {
67 margin-left: auto;
68 display: flex;
69 gap: 10px;
70 }
71
72 /* Inline connect form (signed-out state). */
73 .mlsimport-conn-signin {
74 flex: 1;
75 }
76
77 .mlsimport-conn-signin p {
78 margin: 2px 0 0;
79 }
80
81 .mlsimport-conn-signin-fields {
82 display: flex;
83 gap: 12px;
84 margin-top: 10px;
85 align-items: flex-end;
86 flex-wrap: wrap;
87 /* Cap the form: on a wide screen the flex:1 fields would otherwise
88 stretch across the whole card with the button orphaned far right. */
89 max-width: 640px;
90 }
91
92 .mlsimport-conn-signin-fields label {
93 flex: 1;
94 min-width: 180px;
95 max-width: 240px;
96 font-weight: 500;
97 }
98
99 .mlsimport-conn-signin-fields input {
100 display: block;
101 width: 100%;
102 margin-top: 4px;
103 }
104
105 .mlsimport-conn-signin-error {
106 color: #b91c1c;
107 font-weight: 500;
108 }
109
110 .mlsimport-conn-signup-link {
111 color: var(--accent-color);
112 font-weight: 500;
113 text-decoration: none;
114 display: inline-block;
115 margin-top: 8px;
116 }
117
118 /* ===== 2. Plan slot strip ===== */
119
120 .mlsimport-conn-strip {
121 display: flex;
122 align-items: center;
123 gap: 18px;
124 margin-bottom: 18px;
125 }
126
127 .mlsimport-conn-plan {
128 display: flex;
129 align-items: center;
130 gap: 12px;
131 background: var(--background-soft);
132 border-radius: var(--radius-pill);
133 padding: 8px 16px;
134 }
135
136 .mlsimport-conn-slots {
137 display: flex;
138 gap: 5px;
139 }
140
141 .mlsimport-conn-slot {
142 width: 14px;
143 height: 14px;
144 border-radius: 4px;
145 border: 1px solid rgba(28, 25, 23, 0.18);
146 background: #fff;
147 }
148
149 .mlsimport-conn-slot.is-used {
150 background: var(--accent-color);
151 border-color: var(--accent-color);
152 }
153
154 .mlsimport-conn-strip .button {
155 margin-left: auto;
156 }
157
158 /* ===== 3. Connections table ===== */
159
160 .mlsimport-conn-tblwrap {
161 border: 1px solid var(--border-color);
162 border-radius: 14px;
163 overflow: hidden;
164 width: 100%;
165 }
166
167 .mlsimport-conn-tbl {
168 width: 100%;
169 border-collapse: collapse;
170 background: #fff;
171 }
172
173 .mlsimport-conn-tbl th {
174 text-align: left;
175 text-transform: uppercase;
176 letter-spacing: 0.05em;
177 font-size: 11px;
178 color: var(--text-secondary);
179 padding: 12px 14px;
180 background: #fafaf8;
181 border-bottom: 1px solid rgba(28, 25, 23, 0.18);
182 font-weight: 600;
183 }
184
185 .mlsimport-conn-tbl td {
186 padding: 16px 14px;
187 border-bottom: 1px solid var(--border-color);
188 vertical-align: middle;
189 }
190
191 .mlsimport-conn-group:last-child tr:last-child td {
192 border-bottom: 0;
193 }
194
195 .mlsimport-conn-grip {
196 cursor: grab;
197 color: var(--text-secondary);
198 font-size: 15px;
199 user-select: none;
200 width: 30px;
201 }
202
203 .mlsimport-conn-prio {
204 width: 26px;
205 height: 26px;
206 border-radius: 50%;
207 background: var(--primary-color);
208 color: #fff;
209 display: inline-flex;
210 align-items: center;
211 justify-content: center;
212 font-weight: 600;
213 }
214
215 .mlsimport-conn-name {
216 font-weight: 600;
217 font-size: 15px;
218 }
219
220 /* Status pill + last-test time. */
221 .mlsimport-conn-pill {
222 display: inline-flex;
223 align-items: center;
224 gap: 5px;
225 padding: 2px 10px;
226 border-radius: var(--radius-pill);
227 font-weight: 600;
228 font-size: 12px;
229 }
230
231 .mlsimport-conn-dot {
232 width: 7px;
233 height: 7px;
234 border-radius: 50%;
235 background: currentColor;
236 }
237
238 .mlsimport-conn-pill.is-ok {
239 background: #e6f4ea;
240 color: #1a7f37;
241 }
242
243 .mlsimport-conn-pill.is-bad {
244 background: #fdecea;
245 color: #b91c1c;
246 }
247
248 .mlsimport-conn-pill.is-warn {
249 background: #fff3d6;
250 color: #9a6700;
251 }
252
253 .mlsimport-conn-when {
254 display: block;
255 color: var(--text-secondary);
256 font-size: 12px;
257 margin-top: 2px;
258 }
259
260 .mlsimport-conn-counts {
261 color: var(--text-secondary);
262 }
263
264 .mlsimport-conn-counts b {
265 color: var(--text-primary);
266 font-weight: 600;
267 }
268
269 .mlsimport-conn-acts a {
270 color: var(--accent-color);
271 text-decoration: none;
272 font-weight: 500;
273 margin-right: 10px;
274 }
275
276 /* Remove is destructive: red, and only fully opaque on hover. */
277 .mlsimport-conn-acts a.mlsimport-conn-remove {
278 color: #b91c1c;
279 opacity: 0.75;
280 }
281 .mlsimport-conn-acts a.mlsimport-conn-remove:hover {
282 opacity: 1;
283 }
284
285 /* Failing connection: tinted row + the amber banner row under it. */
286 .mlsimport-conn-group.is-failing .mlsimport-conn-row td {
287 background: #fffdf5;
288 }
289
290 .mlsimport-conn-fixrow td {
291 padding: 0 14px 16px;
292 border-top: 0;
293 background: #fffdf5;
294 }
295
296 .mlsimport-conn-fixbox {
297 display: flex;
298 align-items: center;
299 gap: 12px;
300 background: #fff3d6;
301 border-radius: 8px;
302 padding: 10px 14px;
303 color: #9a6700;
304 }
305
306 .mlsimport-conn-fixbox .button {
307 margin-left: auto;
308 }
309
310 /* Footer note + empty state. */
311 .mlsimport-conn-note,
312 .mlsimport-conn-empty {
313 background: var(--background-soft);
314 border-radius: 8px;
315 padding: 10px 14px;
316 color: var(--text-secondary);
317 margin-top: 16px;
318 max-width: 70ch;
319 }
320
321 /* ===== 4. WordPress mobile admin layout ================================
322 *
323 * At the 782px core admin breakpoint, every Connections region must contain
324 * its own width. The account actions and plan strip wrap vertically, the tab
325 * strip becomes a compact wrapping row, and the data table scrolls inside its
326 * bordered wrapper instead of widening the whole wp-admin document.
327 */
328 @media screen and ( max-width: 782px ) {
329 .nav-tab-wrapper.mlsimport-tab-wrapper {
330 display: flex;
331 flex-wrap: wrap;
332 gap: 4px;
333 padding: 0;
334 margin-top: 24px;
335 }
336
337 .nav-tab-wrapper.mlsimport-tab-wrapper .nav-tab {
338 float: none;
339 flex: 1 1 auto;
340 margin: 0;
341 padding: 10px 12px;
342 text-align: center;
343 }
344
345 .content-nav-tab.mlsimport_2025_card_left_oriented {
346 width: 100%;
347 max-width: 100%;
348 box-sizing: border-box;
349 padding: 16px;
350 }
351
352 .mlsimport-conn-account {
353 align-items: flex-start;
354 flex-wrap: wrap;
355 padding: 14px;
356 }
357
358 .mlsimport-conn-account-who {
359 flex: 1 1 calc( 100% - 48px );
360 min-width: 0;
361 }
362
363 .mlsimport-conn-account-actions {
364 width: 100%;
365 margin-left: 0;
366 flex-wrap: wrap;
367 }
368
369 .mlsimport-conn-account-actions .button {
370 flex: 1 1 140px;
371 }
372
373 .mlsimport-conn-signin {
374 min-width: 0;
375 }
376
377 .mlsimport-conn-signin-fields label {
378 flex: 1 1 100%;
379 min-width: 0;
380 max-width: none;
381 }
382
383 .mlsimport-conn-strip {
384 align-items: stretch;
385 flex-direction: column;
386 gap: 10px;
387 }
388
389 .mlsimport-conn-plan {
390 justify-content: center;
391 }
392
393 .mlsimport-conn-strip .button {
394 width: 100%;
395 margin-left: 0;
396 }
397
398 .mlsimport-conn-tblwrap {
399 max-width: 100%;
400 overflow-x: auto;
401 overflow-y: hidden;
402 -webkit-overflow-scrolling: touch;
403 }
404
405 .mlsimport-conn-tbl {
406 min-width: 720px;
407 }
408 }
409