PluginProbe
Importify – AI Dropshipping for WooCommerce / 1.0.17
Importify – AI Dropshipping for WooCommerce v1.0.17
1.0.19 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.16 1.0.17 1.0.18 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9
importify / assets / css / style.css

style.css in Importify – AI Dropshipping for WooCommerce 1.0.17, at assets/css/style.css

511 lines 14.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ============================================================================
2 Importify WP Plugin — admin page styles (light design, v1.0.17)
3 Warm off-white background, brick-red brand (#b8433f), success-green statuses.
4 Uses Manrope (display) + Inter (body) via Google Fonts, Material Symbols for
5 icons. FOIT is handled inline in the admin view via Font Loading API.
6 ============================================================================ */
7
8 /* ---------- Tokens ---------- */
9 #importify-setup-wrap {
10 --background: #fafaf9;
11 --surface: #ffffff;
12 --surface-alt: #f7f5f4;
13 --surface-hover: #f4f2f0;
14
15 --border-subtle: #ece8e7;
16 --border-muted: #e5e0df;
17
18 --ink: #1a1818;
19 --ink-muted: #6b6361;
20 --ink-subtle: #9a908d;
21
22 --brand: #b8433f;
23 --brand-deep: #8e2f2c;
24 --brand-soft: #fde8e6;
25 --brand-softer: #fef3f1;
26
27 --success: #059669;
28 --success-ink: #065f46;
29 --success-soft: #d1fae5;
30 --success-softer: #ecfdf5;
31 --success-border: #a7f3d0;
32
33 --warning: #d97706;
34 --warning-ink: #92400e;
35 --warning-soft: #fef3c7;
36 --warning-softer: #fffbeb;
37 --warning-border: #fcd34d;
38
39 --danger: #dc2626;
40 --danger-ink: #991b1b;
41 --danger-soft: #fee2e2;
42 --danger-softer: #fef2f2;
43 --danger-border: #fca5a5;
44
45 --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.04), 0 10px 40px -10px rgba(0, 0, 0, 0.08);
46 --shadow-cta: 0 4px 14px rgba(184, 67, 63, 0.25), 0 1px 3px rgba(184, 67, 63, 0.15);
47 }
48
49 /* ---------- Page wrapper ---------- */
50 #importify-setup-wrap {
51 background: var(--background);
52 min-height: 100vh;
53 margin-left: -20px;
54 margin-top: -10px;
55 padding: 48px 24px 80px;
56 color: var(--ink);
57 font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
58 font-size: 15px;
59 line-height: 1.55;
60 }
61 #importify-setup-wrap *,
62 #importify-setup-wrap *::before,
63 #importify-setup-wrap *::after { box-sizing: border-box; }
64
65 #importify-setup-wrap a { color: var(--brand); text-decoration: none; }
66 #importify-setup-wrap a:hover { text-decoration: underline; }
67
68 #importify-setup-wrap h1,
69 #importify-setup-wrap h2,
70 #importify-setup-wrap h3 {
71 font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
72 color: var(--ink);
73 margin: 0;
74 letter-spacing: -0.02em;
75 }
76
77 #importify-setup-wrap p { margin: 0; color: var(--ink-muted); }
78
79 .importify-container {
80 max-width: 56rem;
81 margin: 0 auto;
82 padding: 0 6px;
83 }
84
85 /* ---------- Material Symbols — FOIT fix ---------- */
86 .material-symbols-outlined {
87 font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
88 visibility: hidden;
89 }
90 .fonts-ready .material-symbols-outlined { visibility: visible; }
91 .material-symbols-outlined--filled { font-variation-settings: 'FILL' 1; }
92
93 /* ---------- Header section ---------- */
94 .importify-header {
95 margin-bottom: 40px;
96 }
97 .importify-status-badge {
98 display: inline-flex;
99 align-items: center;
100 gap: 8px;
101 padding: 5px 14px;
102 border-radius: 999px;
103 border: 1px solid transparent;
104 margin-bottom: 18px;
105 font-family: 'Manrope', sans-serif;
106 font-size: 11px;
107 font-weight: 700;
108 letter-spacing: 0.04em;
109 text-transform: uppercase;
110 }
111 .importify-status-badge--success {
112 background: var(--success-softer);
113 border-color: var(--success-border);
114 color: var(--success-ink);
115 }
116 .importify-status-badge--success .material-symbols-outlined { color: var(--success); font-size: 18px; }
117 .importify-status-badge--warning {
118 background: var(--warning-softer);
119 border-color: var(--warning-border);
120 color: var(--warning-ink);
121 }
122 .importify-status-badge--warning .material-symbols-outlined { color: var(--warning); font-size: 18px; }
123
124 .importify-header h1 {
125 font-size: clamp(30px, 4vw, 44px);
126 font-weight: 800;
127 line-height: 1.1;
128 margin-bottom: 10px;
129 color: var(--ink);
130 }
131 .importify-header p {
132 font-size: 16px;
133 color: var(--ink-muted);
134 }
135
136 /* ---------- Main card ---------- */
137 .importify-card {
138 position: relative;
139 background: var(--surface);
140 border: 1px solid var(--border-subtle);
141 border-radius: 2rem;
142 overflow: hidden;
143 box-shadow: var(--shadow-card);
144 }
145 .importify-card__stripe {
146 position: absolute;
147 top: 0; left: 0;
148 width: 100%; height: 3px;
149 background: linear-gradient(90deg, rgba(184, 67, 63, 0.4) 0%, var(--brand) 50%, rgba(184, 67, 63, 0.4) 100%);
150 }
151 .importify-card__stripe--warning {
152 background: linear-gradient(90deg, rgba(217, 119, 6, 0.4) 0%, var(--warning) 50%, rgba(217, 119, 6, 0.4) 100%);
153 }
154 .importify-card__body {
155 padding: 32px;
156 }
157 @media (min-width: 768px) {
158 .importify-card__body { padding: 48px; }
159 }
160
161 /* ---------- Issue banner (ISSUES state) ---------- */
162 .importify-issue-banner {
163 display: flex;
164 align-items: center;
165 gap: 14px;
166 margin-bottom: 24px;
167 }
168 .importify-issue-banner .material-symbols-outlined {
169 font-size: 32px;
170 color: var(--warning);
171 }
172 .importify-issue-banner h2 {
173 font-size: 22px;
174 font-weight: 700;
175 color: var(--ink);
176 }
177
178 /* ---------- Check rows ---------- */
179 .importify-check-list { display: flex; flex-direction: column; gap: 4px; }
180
181 .importify-check-row {
182 display: flex;
183 flex-direction: column;
184 border-radius: 1rem;
185 transition: background 0.25s ease;
186 }
187 .importify-check-row__main {
188 display: flex;
189 align-items: center;
190 justify-content: space-between;
191 padding: 20px;
192 gap: 16px;
193 border-radius: 1rem;
194 transition: background 0.25s ease;
195 }
196 .importify-check-row:hover .importify-check-row__main { background: var(--surface-alt); }
197
198 .importify-check-row--fail .importify-check-row__main { background: var(--danger-softer); }
199 .importify-check-row--fail:hover .importify-check-row__main { background: var(--danger-soft); }
200 .importify-check-row--warn .importify-check-row__main { background: var(--warning-softer); }
201 .importify-check-row--warn:hover .importify-check-row__main { background: var(--warning-soft); }
202
203 .importify-check-left {
204 display: flex;
205 align-items: center;
206 gap: 22px;
207 min-width: 0;
208 }
209
210 .importify-check-icon {
211 flex-shrink: 0;
212 width: 48px; height: 48px;
213 border-radius: 50%;
214 display: inline-flex; align-items: center; justify-content: center;
215 border: 1px solid transparent;
216 transition: transform 0.25s ease;
217 }
218 .importify-check-row:hover .importify-check-icon { transform: scale(1.08); }
219 .importify-check-icon--pass {
220 background: var(--success-softer);
221 border-color: var(--success-border);
222 color: var(--success);
223 }
224 .importify-check-icon--fail {
225 background: var(--danger-softer);
226 border-color: var(--danger-border);
227 color: var(--danger);
228 }
229 .importify-check-icon--warn {
230 background: var(--warning-softer);
231 border-color: var(--warning-border);
232 color: var(--warning);
233 }
234 .importify-check-icon .material-symbols-outlined { font-size: 24px; }
235
236 .importify-check-text { min-width: 0; }
237 .importify-check-text__name {
238 font-family: 'Manrope', sans-serif;
239 font-size: 17px;
240 font-weight: 700;
241 color: var(--ink);
242 line-height: 1.3;
243 margin-bottom: 3px;
244 }
245 .importify-check-text__desc {
246 font-size: 13px;
247 color: var(--ink-muted);
248 }
249
250 .importify-check-right {
251 display: flex;
252 align-items: center;
253 gap: 12px;
254 flex-shrink: 0;
255 }
256
257 /* ---------- Pills ---------- */
258 .importify-pill {
259 display: inline-flex;
260 align-items: center;
261 padding: 6px 16px;
262 border-radius: 999px;
263 border: 1px solid transparent;
264 font-family: 'Manrope', sans-serif;
265 font-size: 11px;
266 font-weight: 700;
267 letter-spacing: 0.04em;
268 text-transform: uppercase;
269 white-space: nowrap;
270 }
271 .importify-pill--success {
272 background: var(--success-soft);
273 border-color: var(--success-border);
274 color: var(--success-ink);
275 }
276 .importify-pill--warn {
277 background: var(--warning-soft);
278 border-color: var(--warning-border);
279 color: var(--warning-ink);
280 }
281 .importify-pill--fail {
282 background: var(--danger-soft);
283 border-color: var(--danger-border);
284 color: var(--danger-ink);
285 }
286 .importify-pill--neutral {
287 background: var(--surface-alt);
288 border-color: var(--border-muted);
289 color: var(--ink);
290 }
291 .importify-pill--muted {
292 background: var(--surface-alt);
293 border-color: var(--border-muted);
294 color: var(--ink-subtle);
295 }
296
297 /* ---------- Fix-panel (ISSUES state) ---------- */
298 .importify-fix-panel {
299 display: none;
300 margin: 0 8px 8px;
301 padding: 22px 24px;
302 background: var(--warning-softer);
303 border: 1px solid var(--warning-border);
304 border-radius: 1rem;
305 }
306 .importify-fix-panel--open { display: block; }
307 .importify-fix-panel h3 {
308 font-family: 'Manrope', sans-serif;
309 font-size: 11px;
310 color: var(--warning-ink);
311 text-transform: uppercase;
312 letter-spacing: 0.1em;
313 margin-bottom: 16px;
314 font-weight: 700;
315 }
316 .importify-fix-steps { display: flex; flex-direction: column; gap: 14px; }
317 .importify-fix-step {
318 display: flex;
319 align-items: flex-start;
320 gap: 14px;
321 }
322 .importify-fix-step__num {
323 flex-shrink: 0;
324 width: 24px; height: 24px;
325 border-radius: 50%;
326 background: var(--warning-soft);
327 color: var(--warning-ink);
328 font-family: 'Manrope', sans-serif;
329 font-size: 11px;
330 font-weight: 700;
331 display: inline-flex; align-items: center; justify-content: center;
332 margin-top: 1px;
333 }
334 .importify-fix-step p {
335 font-size: 13px;
336 color: var(--ink);
337 line-height: 1.6;
338 }
339 .importify-fix-step code {
340 background: var(--brand-softer);
341 color: var(--brand-deep);
342 padding: 2px 8px;
343 border-radius: 6px;
344 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
345 font-size: 12px;
346 border: 1px solid var(--brand-soft);
347 }
348 .importify-fix-step em {
349 color: var(--ink-muted);
350 font-style: italic;
351 }
352 .importify-fix-link {
353 display: inline-flex;
354 align-items: center;
355 gap: 6px;
356 margin-top: 10px;
357 color: var(--brand);
358 font-family: 'Manrope', sans-serif;
359 font-size: 13px;
360 font-weight: 700;
361 transition: gap 0.2s ease;
362 text-decoration: none;
363 }
364 .importify-fix-link:hover { gap: 10px; text-decoration: none; color: var(--brand-deep); }
365 .importify-fix-link .material-symbols-outlined { font-size: 16px; }
366
367 /* ---------- Card footer ---------- */
368 .importify-card__footer {
369 margin-top: 32px;
370 padding-top: 32px;
371 border-top: 1px solid var(--border-subtle);
372 display: flex;
373 flex-direction: column;
374 align-items: stretch;
375 gap: 16px;
376 }
377 @media (min-width: 640px) {
378 .importify-card__footer {
379 flex-direction: row;
380 align-items: center;
381 justify-content: space-between;
382 }
383 }
384 .importify-card__footer-note {
385 display: flex;
386 align-items: center;
387 gap: 10px;
388 color: var(--ink-muted);
389 font-size: 14px;
390 }
391 .importify-card__footer-note .material-symbols-outlined { color: var(--success); font-size: 20px; }
392
393 /* ---------- Buttons ----------
394 All rules scoped under #importify-setup-wrap so their specificity (ID + class)
395 beats the generic `#importify-setup-wrap a` rule above — otherwise anchor
396 buttons inherit var(--brand) text colour and disappear on the brand-red bg. */
397 #importify-setup-wrap .importify-btn {
398 display: inline-flex;
399 align-items: center;
400 justify-content: center;
401 gap: 8px;
402 padding: 14px 28px;
403 border-radius: 0.75rem;
404 border: 1px solid transparent;
405 font-family: 'Manrope', sans-serif;
406 font-size: 14px;
407 font-weight: 700;
408 line-height: 1;
409 cursor: pointer;
410 transition: all 0.2s ease;
411 text-decoration: none;
412 white-space: nowrap;
413 }
414 #importify-setup-wrap .importify-btn:hover { text-decoration: none; }
415 #importify-setup-wrap .importify-btn:active { transform: scale(0.96); }
416
417 #importify-setup-wrap .importify-btn--primary,
418 #importify-setup-wrap a.importify-btn--primary,
419 #importify-setup-wrap a.importify-btn--primary:visited {
420 background: var(--brand);
421 color: #ffffff;
422 box-shadow: var(--shadow-cta);
423 }
424 #importify-setup-wrap .importify-btn--primary:hover,
425 #importify-setup-wrap a.importify-btn--primary:hover {
426 background: var(--brand-deep);
427 color: #ffffff;
428 transform: scale(1.02);
429 }
430 #importify-setup-wrap .importify-btn--primary .material-symbols-outlined { font-size: 18px; }
431
432 #importify-setup-wrap .importify-btn--secondary,
433 #importify-setup-wrap a.importify-btn--secondary,
434 #importify-setup-wrap a.importify-btn--secondary:visited {
435 background: var(--surface);
436 color: var(--ink);
437 border-color: var(--border-muted);
438 }
439 #importify-setup-wrap .importify-btn--secondary:hover,
440 #importify-setup-wrap a.importify-btn--secondary:hover {
441 background: var(--surface-alt);
442 color: var(--ink);
443 border-color: var(--ink-subtle);
444 }
445
446 #importify-setup-wrap .importify-btn--link {
447 background: transparent;
448 color: var(--brand);
449 padding: 0;
450 font-size: 13px;
451 font-weight: 700;
452 border: 0;
453 cursor: pointer;
454 font-family: 'Manrope', sans-serif;
455 }
456 #importify-setup-wrap .importify-btn--link:hover { color: var(--brand-deep); text-decoration: underline; }
457
458 @media (max-width: 639px) {
459 .importify-card__footer .importify-btn { width: 100%; }
460 }
461
462 /* ---------- Footer actions row (ISSUES state) ---------- */
463 .importify-footer-actions {
464 display: flex;
465 flex-direction: column;
466 gap: 12px;
467 margin-top: 24px;
468 align-items: stretch;
469 justify-content: center;
470 }
471 @media (min-width: 640px) {
472 .importify-footer-actions {
473 flex-direction: row;
474 align-items: center;
475 }
476 .importify-footer-actions .importify-btn { min-width: 220px; }
477 }
478
479 .importify-version {
480 text-align: center;
481 margin-top: 36px;
482 font-size: 12px;
483 color: var(--ink-subtle);
484 }
485
486 /* ---------- Preview-mode banner (admin-only debug helper) ---------- */
487 .importify-preview-banner {
488 display: flex;
489 align-items: center;
490 justify-content: center;
491 gap: 10px;
492 padding: 10px 18px;
493 margin-bottom: 24px;
494 background: var(--brand-softer);
495 border: 1px dashed var(--brand);
496 border-radius: 0.5rem;
497 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
498 font-size: 12px;
499 color: var(--brand-deep);
500 }
501 .importify-preview-banner a { color: var(--brand-deep); text-decoration: underline; font-weight: 700; }
502 .importify-preview-banner a:hover { color: var(--brand); }
503 .importify-preview-banner .material-symbols-outlined { font-size: 16px; color: var(--brand); }
504
505 /* ---------- Utility: responsive gap for brand badge + image ---------- */
506 .importify-brand-badge img {
507 display: block;
508 max-width: 100%;
509 height: auto;
510 }
511