PluginProbe ʕ •ᴥ•ʔ
WP 2FA – Two-factor authentication for WordPress / 4.0.0
WP 2FA – Two-factor authentication for WordPress v4.0.0
4.0.0 1.7.1 2.0.0 2.0.1 2.1.0 2.2.0 2.2.1 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.8.0 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0 3.0.1 3.1.0 3.1.1 3.1.1.2 trunk 1.2.0 1.3.0 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.6.2 1.7.0
wp-2fa / includes / assets / css / wizard-new.css
wp-2fa / includes / assets / css Last commit date
phone-picker.css 17 hours ago settings.css 17 hours ago top-bar-banner.css 17 hours ago wizard-new.css 17 hours ago
wizard-new.css
453 lines
1 /**
2 * WP 2FA – New First-Time Setup Wizard Styles
3 *
4 * Extends the shared CSS custom properties from settings.css.
5 * Loaded only on the setup-wizard page when the new interface is active.
6 *
7 * @package wp-2fa
8 * @since 3.2.0
9 */
10
11 /* ── Reset ────────────────────────────────────────────── */
12
13 .wp2fa-wizard-new {
14 margin: 0;
15 padding: 0;
16 background: #f0f0f1;
17 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
18 font-size: 14px;
19 color: #3c434a;
20 -webkit-font-smoothing: antialiased;
21 }
22
23 /* ── Screen switching ─────────────────────────────────── */
24
25 .wp2fa-wizard-screen {
26 display: none;
27 }
28
29 .wp2fa-wizard-screen--active {
30 display: block;
31 }
32
33 /* ── Welcome / Finish card ────────────────────────────── */
34
35 .wp2fa-wizard-welcome-card {
36 max-width: 600px;
37 margin: 80px auto 0;
38 padding: 48px 48px 40px;
39 background: #fff;
40 border: 1px dashed #c3c4c7;
41 border-radius: 6px;
42 text-align: center;
43 }
44
45 .wp2fa-wizard-welcome-card h2 {
46 font-size: 22px;
47 font-weight: 600;
48 color: #1d2327;
49 margin: 0 0 12px;
50 }
51
52 .wp2fa-wizard-welcome-card p {
53 font-size: 14px;
54 color: #50575e;
55 line-height: 1.6;
56 margin: 0 0 8px;
57 }
58
59 .wp2fa-wizard-welcome-actions {
60 display: flex;
61 flex-direction: column;
62 align-items: center;
63 gap: 12px;
64 margin-top: 28px;
65 }
66
67 .wp2fa-wizard-welcome-actions .button-hero {
68 min-width: 220px;
69 font-size: 15px;
70 }
71
72 .wp2fa-wizard-skip-link {
73 display: inline-block;
74 min-width: 220px;
75 padding: 12px 24px;
76 font-size: 15px;
77 font-weight: 600;
78 color: #3c434a;
79 background: #f0f0f1;
80 /* border: 1px solid #c3c4c7; */
81 border-radius: 4px;
82 text-decoration: none;
83 text-align: center;
84 cursor: pointer;
85 box-sizing: border-box;
86 line-height: 1.5;
87 }
88
89 .wp2fa-wizard-skip-link:hover {
90 color: #1d2327;
91 background: #e0e0e1;
92 border-color: #a7aaad;
93 }
94
95 /* ── Logo ─────────────────────────────────────────────── */
96
97 .wp2fa-wizard-logo {
98 display: flex;
99 align-items: center;
100 justify-content: center;
101 gap: 10px;
102 margin-bottom: 20px;
103 }
104
105 .wp2fa-wizard-logo img {
106 height: 42px;
107 width: auto;
108 }
109
110 .wp2fa-wizard-logo-text {
111 font-size: 24px;
112 font-weight: 700;
113 color: #1d2327;
114 }
115
116 /* ── Steps screen header ──────────────────────────────── */
117
118 .wp2fa-wizard-header {
119 display: flex;
120 align-items: center;
121 padding: 12px 25px 38px 4px;
122 border-radius: 6px 6px 0 0;
123 }
124
125 .wp2fa-wizard-header-logo {
126 display: flex;
127 align-items: center;
128 gap: 8px;
129 margin-right: 32px;
130 flex-shrink: 0;
131 }
132
133 .wp2fa-wizard-header-logo img {
134 height: 32px;
135 width: auto;
136 }
137
138 .wp2fa-wizard-header-logo span {
139 font-size: 24px;
140 font-weight: 700;
141 color: #1d2327;
142 }
143
144 /* ── Step navigation (breadcrumb-style) ───────────────── */
145
146 .wp2fa-wizard-nav {
147 flex: 1;
148 }
149
150 .wp2fa-wizard-nav ol {
151 display: flex;
152 align-items: center;
153 gap: 0;
154 list-style: none;
155 margin: 0;
156 padding: 0;
157 }
158
159 .wp2fa-wizard-nav li {
160 display: flex;
161 align-items: center;
162 gap: 3px;
163 padding: 0 15px;
164 white-space: nowrap;
165 }
166
167 .wp2fa-wizard-nav .step-indicator {
168 display: inline-block;
169 width: 3px;
170 height: 3px;
171 border-radius: 50%;
172 border: 2px solid #c3c4c7;
173 background: transparent;
174 flex-shrink: 0;
175 transition: all 0.2s ease;
176 }
177
178 .wp2fa-wizard-nav .step-label {
179 font-size: 10px;
180 font-weight: 500;
181 text-transform: uppercase;
182 letter-spacing: 0.5px;
183 color: #a7aaad;
184 transition: color 0.2s ease;
185 }
186
187 /* Active step */
188 .wp2fa-wizard-nav li.is-active .step-indicator {
189 border-color: #2271b1;
190 background: #2271b1;
191 }
192
193 .wp2fa-wizard-nav li.is-active .step-label {
194 color: #2271b1;
195 }
196
197 /* Done step */
198 .wp2fa-wizard-nav li.is-done .step-indicator {
199 border-color: transparent;
200 background: transparent;
201 position: relative;
202 width: 14px;
203 height: 14px;
204 }
205
206 .wp2fa-wizard-nav li.is-done .step-indicator::after {
207 content: '';
208 position: absolute;
209 top: 50%;
210 left: 50%;
211 transform: translate(-50%, -50%);
212 color: #00a32a;
213 font-size: 14px;
214 font-weight: bold;
215 line-height: 1;
216 }
217
218 .wp2fa-wizard-nav li.is-done .step-label {
219 color: #00a32a;
220 }
221
222 /* ── Main content area ────────────────────────────────── */
223
224 .wp2fa-wizard-main {
225 max-width: 820px;
226 margin: 0 auto;
227 padding: 32px 24px 0;
228 }
229
230 .wp2fa-wizard-form {
231 background: #fff;
232 border: 1px solid #c3c4c7;
233 border-radius: 6px;
234 padding: 40px 48px;
235 }
236
237 .wp2fa-wizard-form h3 {
238 font-size: 22px;
239 font-weight: 600;
240 color: #1d2327;
241 margin: 0 0 20px;
242 }
243
244 .wp2fa-wizard-form .description {
245 font-size: 14px;
246 color: #50575e;
247 line-height: 1.6;
248 margin: 0 0 24px;
249 }
250
251 /* ── Method cards inside steps ────────────────────────── */
252
253 .wizard-method-card {
254 border: 1px solid #dcdcde;
255 border-radius: 4px;
256 padding: 16px 20px;
257 margin-bottom: 12px;
258 }
259
260 .wizard-method-card:hover {
261 border-color: #2271b1;
262 }
263
264 .wizard-method-desc {
265 font-size: 13px;
266 color: #50575e;
267 line-height: 1.5;
268 margin: 4px 0 0 34px;
269 }
270
271 /* ── Info / upgrade notices ───────────────────────────── */
272
273 .wizard-info-notice {
274 background: #fef3cd;
275 border: 1px solid #ffc107;
276 border-radius: 4px;
277 padding: 14px 18px;
278 margin-top: 16px;
279 color: #856404;
280 font-size: 13px;
281 line-height: 1.6;
282 }
283
284 .wizard-info-blue-notice {
285 background: #ECF3F8;
286 border: 1px solid #2B5578;
287 border-radius: 4px;
288 padding: 14px 18px;
289 margin-top: 16px;
290 color: #2B5578;
291 font-size: 13px;
292 line-height: 1.6;
293 }
294
295 .wizard-upgrade-notice {
296 background: #eef5fc;
297 border: 1px solid #c8dff5;
298 border-radius: 4px;
299 padding: 14px 18px;
300 margin-top: 16px;
301 display: flex;
302 align-items: center;
303 justify-content: space-between;
304 gap: 12px;
305 flex-wrap: wrap;
306 font-size: 13px;
307 color: #3c434a;
308 }
309
310 .wizard-upgrade-notice a:first-child {
311 color: #2271b1;
312 text-decoration: underline;
313 }
314
315 /* ── Inline controls (grace period inputs) ────────────── */
316
317 .inline-controls {
318 display: flex;
319 align-items: center;
320 gap: 8px;
321 }
322
323 .inline-controls .small-text {
324 width: 70px;
325 }
326
327 .inline-controls select {
328 min-width: 100px;
329 }
330
331 .grace-period-sub-settings {
332 margin-top: 8px;
333 }
334
335 /* ── Footer ───────────────────────────────────────────── */
336
337 .wp2fa-wizard-footer {
338 margin: 0;
339 padding: 24px 0 0;
340 border-top: 1px solid #dcdcde;
341 margin-top: 24px;
342 }
343
344 .wp2fa-wizard-footer-inner {
345 display: flex;
346 align-items: center;
347 gap: 16px;
348 }
349
350 .wp2fa-wizard-footer-inner .button-primary {
351 min-width: 140px;
352 font-size: 14px;
353 padding: 7px;
354 font-weight: 600;
355 }
356
357 /* ── Error notice ─────────────────────────────────────── */
358
359 .wp2fa-wizard-error {
360 display: inline-block;
361 margin-left: 12px;
362 color: #d63638;
363 font-weight: 500;
364 font-size: 13px;
365 }
366
367 /* ── Multi-select overrides ───────────────────────────── */
368
369 .wp2fa-wizard-form .wp2fa-msa-wrap {
370 max-width: 100%;
371 }
372
373 .wp2fa-wizard-form .settings-row:has(.wp2fa-msa-wrap) {
374 flex-wrap: nowrap;
375 }
376
377 .wp2fa-wizard-form .settings-row .wp2fa-msa-wrap {
378 flex: 1;
379 min-width: 0;
380 }
381
382 @media (max-width: 768px) {
383 .wp2fa-wizard-form .settings-row:has(.wp2fa-msa-wrap) {
384 flex-wrap: wrap;
385 }
386
387 .wp2fa-wizard-form .settings-row .wp2fa-msa-wrap {
388 min-width: 100%;
389 }
390 }
391
392 /* ── Methods-panel validation notice ──────────────────── */
393
394 .wp2fa-wizard-methods-notice {
395 margin: 12px 0;
396 padding: 10px 14px;
397 background: #fcf0f1;
398 border-left: 4px solid #d63638;
399 color: #d63638;
400 font-size: 13px;
401 font-weight: 500;
402 border-radius: 2px;
403 }
404
405 .js-wizard-continue.disabled {
406 opacity: 0.5;
407 cursor: default;
408 pointer-events: none;
409 }
410
411 /* ── Responsive ───────────────────────────────────────── */
412
413 @media (max-width: 782px) {
414 .wp2fa-wizard-header {
415 flex-direction: column;
416 gap: 12px;
417 padding: 12px 25px 38px 4px;
418 border-radius: 6px 6px 0 0;
419 }
420
421 .wp2fa-wizard-header-logo {
422 margin-right: 0;
423 }
424
425 .wp2fa-wizard-nav ol {
426 flex-wrap: wrap;
427 gap: 4px;
428 }
429
430 .wp2fa-wizard-nav li {
431 padding: 0 8px;
432 }
433
434 .wp2fa-wizard-nav .step-label {
435 font-size: 10px;
436 }
437
438 .wp2fa-wizard-form {
439 padding: 24px 20px;
440 }
441
442 .wp2fa-wizard-welcome-card {
443 margin: 24px 16px 0;
444 padding: 32px 24px;
445 }
446 }
447
448 @media (max-width: 480px) {
449 .wp2fa-wizard-nav .step-label {
450 display: none;
451 }
452 }
453