PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / trunk
MxChat – AI Chatbot & Content Generation for WordPress vtrunk
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
mxchat-basic / css / admin-onboarding-wizard.css

admin-onboarding-wizard.css in MxChat – AI Chatbot & Content Generation for WordPress trunk, at css/admin-onboarding-wizard.css

1,134 lines 33.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 * MxChat Onboarding Wizard styling.
3 *
4 * Plan: plan-mxchat-20260527-905439. Layers on top of admin-sidebar.css.
5 *
6 * Two distinct concerns in this file:
7 * 1. Wizard card layout (step container, progress bar, fields, buttons,
8 * KB status row, congrats screen) — scoped to .mxch-onboarding-wizard-wrapper
9 * so it never bleeds into other admin pages.
10 * 2. ADMIN-CHROME SURGERY scoped to body.mxchat-onboarding-focused so the
11 * WP admin sidebar collapses and the bottom dashboard cards (License /
12 * Recent Activity / Provider) are hidden on the Onboarding page ONLY.
13 * Every other admin page is untouched.
14 *
15 * Chrome-surgery approach (CSS-only — we don't fight WP core JS):
16 * - #adminmenuwrap + #adminmenuback are hidden (display:none)
17 * - #wpcontent margin-left adjusted to 0 so the content area uses full width
18 * - The collapsed-sidebar widget at the top (#collapse-menu) also hidden
19 * - On screens <= 782px WP already collapses the sidebar; we don't need to
20 * override anything there
21 *
22 * The Onboarding page already renders without the LEGACY bottom dashboard
23 * cards (the renderer simply doesn't include them in the wizard layout), so
24 * no CSS hiding is needed for those — they're absent by construction. This is
25 * the correct way to suppress them per the spec: don't render, don't hide.
26 */
27
28 /* =============================================================== */
29 /* 1. CHROME SURGERY — REMOVED (plan-d14e89) */
30 /* =============================================================== */
31 /*
32 * The earlier version of this file hid #adminmenuwrap / #adminmenuback /
33 * #collapse-menu on body.mxchat-onboarding-focused to give the wizard a
34 * focused look. That inadvertently broke WordPress's responsive top-left
35 * hamburger toggle (#wp-admin-bar-menu-toggle) — that button toggles the
36 * very element we were hiding, so on mobile the user could tap the toggle
37 * and nothing visible would happen.
38 *
39 * Fix: do not interfere with native WP admin chrome on the Onboarding page.
40 * The wizard card already provides the focus. The body class
41 * `mxchat-onboarding-focused` is still added (kept for any future
42 * page-only style scoping) but no longer hides the admin menu.
43 */
44
45 /* =============================================================== */
46 /* 2. WIZARD CARD */
47 /* =============================================================== */
48
49 .mxch-onboarding-wizard-wrapper .mxch-wizard-card {
50 max-width: 760px;
51 margin: 0 auto;
52 padding: 0;
53 }
54
55 /* --- Defensive hide rules for stale inner state (plan-a2e4d6 Issue 5) ---
56 *
57 * THE ROOT CAUSE of the lingering double-confirmation:
58 * `.mxch-wiz-key-saved` and `.mxch-wiz-key-dedup` set `display: flex` below,
59 * which OVERRIDES the browser-default `[hidden] { display: none }`. So even
60 * when JS sets `el.hidden = true` (which adds the [hidden] attribute), the
61 * row stays visible because flex wins. That's why d14e89's JS-only fix
62 * didn't hold — the JS path was correct; the CSS undid it.
63 *
64 * Fix in three layers:
65 * 1. Any [hidden] element inside the wizard wrapper goes display:none — beats
66 * the row-specific display:flex below.
67 * 2. An entire inactive step is also fully suppressed (every descendant).
68 * 3. The JS defensive hide-all at the top of applyProviderUI() flips the
69 * attribute on EVERY render so a stale prior render can't leak through.
70 */
71 .mxch-onboarding-wizard-wrapper [hidden] {
72 display: none !important;
73 }
74 .mxch-onboarding-wizard-wrapper .mxch-wizard-step[hidden] {
75 display: none !important;
76 }
77 .mxch-onboarding-wizard-wrapper .mxch-wizard-step[hidden] * {
78 display: none !important;
79 }
80
81 /* --- Clickable pill step indicator (plan-a2e4d6) ---
82 * Six pills across the top of the wizard. Three visual states:
83 * .is-complete : solid brand purple, check icon, pointer cursor — clickable
84 * .is-current : outlined brand purple, number visible, aria-current="step"
85 * .is-future : faded gray, number visible, non-clickable (disabled attr)
86 * Mobile (≤600px): pills wrap; labels shrink to icons only on the smallest
87 * viewports so all 6 fit. */
88 .mxch-onboarding-wizard-wrapper .mxch-wizard-pillnav {
89 display: flex;
90 gap: 6px;
91 padding: 0 28px 4px;
92 margin: 18px 0 14px;
93 flex-wrap: wrap;
94 align-items: stretch;
95 }
96
97 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill {
98 flex: 1 1 90px;
99 min-width: 0;
100 display: flex;
101 align-items: center;
102 gap: 7px;
103 padding: 8px 10px;
104 border: 1.5px solid transparent;
105 background: transparent;
106 border-radius: var(--mxch-radius-md);
107 font-size: 12px;
108 font-weight: 500;
109 cursor: pointer;
110 transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.1s;
111 text-align: left;
112 line-height: 1.25;
113 color: var(--mxch-text-secondary);
114 appearance: none;
115 -webkit-appearance: none;
116 font-family: inherit;
117 }
118
119 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill .mxch-wizard-pill-num {
120 flex-shrink: 0;
121 width: 22px;
122 height: 22px;
123 border-radius: 50%;
124 display: inline-flex;
125 align-items: center;
126 justify-content: center;
127 font-size: 11px;
128 font-weight: 700;
129 background: var(--mxch-card-border, #e2e8f0);
130 color: #fff;
131 transition: background 0.15s, color 0.15s;
132 position: relative;
133 }
134
135 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill .mxch-wizard-pill-check {
136 display: none;
137 }
138
139 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill-label {
140 flex: 1;
141 overflow: hidden;
142 text-overflow: ellipsis;
143 white-space: nowrap;
144 color: inherit;
145 }
146
147 /* Complete: solid purple bg + check icon */
148 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-complete {
149 background: var(--mxch-primary);
150 border-color: var(--mxch-primary);
151 color: #fff;
152 }
153
154 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-complete .mxch-wizard-pill-num {
155 background: rgba(255, 255, 255, 0.22);
156 color: #fff;
157 }
158
159 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-complete .mxch-wizard-pill-num-text {
160 display: none;
161 }
162
163 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-complete .mxch-wizard-pill-check {
164 display: block;
165 }
166
167 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-complete:hover {
168 background: var(--mxch-primary-hover, var(--mxch-primary));
169 transform: translateY(-1px);
170 }
171
172 /* Current: outlined purple */
173 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-current {
174 border-color: var(--mxch-primary);
175 color: var(--mxch-primary);
176 background: rgba(120, 115, 245, 0.07);
177 cursor: default;
178 }
179
180 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-current .mxch-wizard-pill-num {
181 background: var(--mxch-primary);
182 color: #fff;
183 }
184
185 /* Future: faded gray, disabled */
186 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-future {
187 color: var(--mxch-text-muted, #94a3b8);
188 cursor: not-allowed;
189 opacity: 0.65;
190 }
191
192 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill.is-future .mxch-wizard-pill-num {
193 background: var(--mxch-card-border, #e2e8f0);
194 color: var(--mxch-text-muted, #94a3b8);
195 }
196
197 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill:disabled {
198 cursor: not-allowed;
199 }
200
201 /* Focus ring for keyboard nav */
202 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill:focus-visible {
203 outline: 2px solid var(--mxch-primary);
204 outline-offset: 2px;
205 }
206
207 .mxch-onboarding-wizard-wrapper .mxch-wizard-progress {
208 padding: 20px 28px 0;
209 }
210
211 .mxch-onboarding-wizard-wrapper .mxch-wizard-progress-label {
212 display: flex;
213 align-items: baseline;
214 gap: 12px;
215 margin-bottom: 10px;
216 flex-wrap: wrap;
217 }
218
219 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-label {
220 font-size: 12px;
221 font-weight: 600;
222 text-transform: uppercase;
223 letter-spacing: 0.6px;
224 color: var(--mxch-text-secondary);
225 }
226
227 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-name {
228 font-size: 13px;
229 color: var(--mxch-text-secondary);
230 }
231
232 .mxch-onboarding-wizard-wrapper .mxch-wizard-progress-bar {
233 height: 6px;
234 border-radius: var(--mxch-radius-sm);
235 background: rgba(120, 115, 245, 0.12);
236 overflow: hidden;
237 }
238
239 .mxch-onboarding-wizard-wrapper .mxch-wizard-progress-fill {
240 height: 100%;
241 background: linear-gradient(90deg, var(--mxch-primary) 0%, var(--mxch-primary-hover, var(--mxch-primary)) 100%);
242 width: 0;
243 transition: width 0.35s ease;
244 border-radius: var(--mxch-radius-sm);
245 }
246
247 /* --- Step content ------------------------------------------------ */
248 .mxch-onboarding-wizard-wrapper .mxch-wizard-step {
249 padding: 28px;
250 border-top: 1px solid transparent;
251 margin-top: 18px;
252 }
253
254 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-title {
255 margin: 0 0 8px;
256 font-size: 22px;
257 font-weight: 600;
258 color: var(--mxch-text-primary);
259 line-height: 1.25;
260 }
261
262 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-explainer {
263 margin: 0 0 22px;
264 color: var(--mxch-text-secondary);
265 font-size: 14px;
266 line-height: 1.6;
267 max-width: 60ch;
268 }
269
270 .mxch-onboarding-wizard-wrapper .mxch-field {
271 margin: 0 0 18px;
272 }
273
274 .mxch-onboarding-wizard-wrapper .mxch-field-label {
275 display: block;
276 font-size: 13px;
277 font-weight: 600;
278 color: var(--mxch-text-primary);
279 margin-bottom: 6px;
280 }
281
282 .mxch-onboarding-wizard-wrapper .mxch-field-description {
283 font-size: 12px;
284 color: var(--mxch-text-secondary);
285 margin: 0 0 8px;
286 line-height: 1.5;
287 }
288
289 .mxch-onboarding-wizard-wrapper .mxch-field-hint {
290 font-size: 12px;
291 color: var(--mxch-text-secondary);
292 margin: 8px 0 0;
293 line-height: 1.5;
294 }
295
296 .mxch-onboarding-wizard-wrapper .mxch-field-hint a {
297 color: var(--mxch-primary);
298 text-decoration: none;
299 }
300
301 .mxch-onboarding-wizard-wrapper .mxch-field-hint a:hover {
302 text-decoration: underline;
303 }
304
305 .mxch-onboarding-wizard-wrapper .mxch-wiz-select {
306 width: 100%;
307 max-width: 420px;
308 padding: 9px 12px;
309 border-radius: var(--mxch-radius-md);
310 border: 1px solid var(--mxch-card-border, #e2e8f0);
311 background: #fff;
312 font-size: 14px;
313 color: var(--mxch-text-primary);
314 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
315 transition: border-color 0.15s, box-shadow 0.15s;
316 line-height: 1.4;
317 }
318
319 .mxch-onboarding-wizard-wrapper .mxch-wiz-select:focus {
320 outline: none;
321 border-color: var(--mxch-primary);
322 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.18);
323 }
324
325 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-row {
326 display: flex;
327 gap: 8px;
328 align-items: stretch;
329 max-width: 540px;
330 }
331
332 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-input {
333 flex: 1;
334 padding: 9px 12px;
335 border-radius: var(--mxch-radius-md);
336 border: 1px solid var(--mxch-card-border, #e2e8f0);
337 background: #fff;
338 font-size: 14px;
339 color: var(--mxch-text-primary);
340 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
341 transition: border-color 0.15s, box-shadow 0.15s;
342 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
343 }
344
345 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-input:focus {
346 outline: none;
347 border-color: var(--mxch-primary);
348 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.18);
349 }
350
351 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-saved,
352 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-dedup {
353 display: flex;
354 align-items: center;
355 gap: 10px;
356 padding: 12px 14px;
357 border-radius: var(--mxch-radius-md);
358 background: rgba(34, 197, 94, 0.09);
359 border: 1px solid rgba(34, 197, 94, 0.22);
360 color: var(--mxch-success, #16a34a);
361 font-size: 13px;
362 font-weight: 500;
363 margin: 0 0 18px;
364 max-width: 540px;
365 }
366
367 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-saved svg,
368 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-dedup svg {
369 flex-shrink: 0;
370 }
371
372 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-saved span,
373 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-dedup span {
374 flex: 1;
375 color: var(--mxch-text-primary);
376 }
377
378 .mxch-onboarding-wizard-wrapper .mxch-wiz-replace-key-link {
379 background: none;
380 border: none;
381 padding: 0;
382 color: var(--mxch-primary);
383 font-size: 12px;
384 cursor: pointer;
385 text-decoration: underline;
386 font-weight: 500;
387 }
388
389 .mxch-onboarding-wizard-wrapper .mxch-wiz-replace-key-link:hover {
390 color: var(--mxch-primary-hover, var(--mxch-primary));
391 }
392
393 .mxch-onboarding-wizard-wrapper .mxch-wiz-error {
394 margin: 0 0 18px;
395 padding: 10px 14px;
396 border-radius: var(--mxch-radius-md);
397 background: rgba(220, 38, 38, 0.07);
398 border: 1px solid rgba(220, 38, 38, 0.22);
399 color: var(--mxch-error, #dc2626);
400 font-size: 13px;
401 }
402
403 /* --- AI Behavior step (Step 2) — plan-a2e4d6 -------------------- */
404 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-textarea {
405 width: 100%;
406 max-width: 100%;
407 padding: 11px 14px;
408 border-radius: var(--mxch-radius-md);
409 border: 1px solid var(--mxch-card-border, #e2e8f0);
410 background: #fff;
411 font-size: 13px;
412 color: var(--mxch-text-primary);
413 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
414 transition: border-color 0.15s, box-shadow 0.15s;
415 font-family: inherit;
416 line-height: 1.55;
417 resize: vertical;
418 min-height: 130px;
419 }
420
421 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-textarea:focus {
422 outline: none;
423 border-color: var(--mxch-primary);
424 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.18);
425 }
426
427 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-actions-row {
428 margin: -6px 0 18px;
429 }
430
431 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-actions-row .mxchat-instructions-btn {
432 display: inline-flex;
433 align-items: center;
434 gap: 6px;
435 padding: 7px 12px;
436 border-radius: var(--mxch-radius-md);
437 border: 1px solid var(--mxch-card-border, #e2e8f0);
438 background: #fff;
439 color: var(--mxch-text-primary);
440 font-size: 12px;
441 font-weight: 500;
442 cursor: pointer;
443 transition: background 0.15s, border-color 0.15s, color 0.15s;
444 font-family: inherit;
445 }
446
447 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-actions-row .mxchat-instructions-btn:hover {
448 background: var(--mxch-content-bg, #f0f2f5);
449 border-color: var(--mxch-primary);
450 color: var(--mxch-primary);
451 }
452
453 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-examples-label {
454 font-size: 12px;
455 font-weight: 600;
456 text-transform: uppercase;
457 letter-spacing: 0.5px;
458 color: var(--mxch-text-secondary);
459 margin: 8px 0 10px;
460 }
461
462 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-examples {
463 display: grid;
464 grid-template-columns: repeat(3, minmax(0, 1fr));
465 gap: 10px;
466 margin-bottom: 18px;
467 }
468
469 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-example {
470 display: flex;
471 flex-direction: column;
472 align-items: flex-start;
473 text-align: left;
474 gap: 4px;
475 padding: 12px 14px;
476 border-radius: var(--mxch-radius-md);
477 border: 1px solid var(--mxch-card-border, #e2e8f0);
478 background: #fff;
479 cursor: pointer;
480 transition: border-color 0.15s, background 0.15s, transform 0.1s, box-shadow 0.15s;
481 font-family: inherit;
482 }
483
484 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-example:hover {
485 border-color: var(--mxch-primary);
486 background: rgba(120, 115, 245, 0.04);
487 transform: translateY(-1px);
488 box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
489 }
490
491 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-example.is-picked {
492 border-color: var(--mxch-primary);
493 background: rgba(120, 115, 245, 0.08);
494 }
495
496 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-example-title {
497 font-size: 13px;
498 font-weight: 600;
499 color: var(--mxch-text-primary);
500 }
501
502 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-example-desc {
503 font-size: 12px;
504 color: var(--mxch-text-secondary);
505 line-height: 1.45;
506 }
507
508 /* --- CTA row (for steps that link out to KB / Actions) ---------- */
509 .mxch-onboarding-wizard-wrapper .mxch-wiz-cta-row {
510 display: flex;
511 align-items: center;
512 gap: 14px;
513 flex-wrap: wrap;
514 margin-bottom: 18px;
515 }
516
517 .mxch-onboarding-wizard-wrapper .mxch-wiz-cta-row .mxch-field-hint {
518 margin: 0;
519 }
520
521 /* --- KB status row (Step 3) ------------------------------------- */
522 .mxch-onboarding-wizard-wrapper .mxch-wiz-kb-status {
523 display: flex;
524 align-items: center;
525 gap: 10px;
526 padding: 12px 14px;
527 border-radius: var(--mxch-radius-md);
528 background: var(--mxch-content-bg, #f0f2f5);
529 border: 1px solid var(--mxch-card-border, #e2e8f0);
530 font-size: 13px;
531 margin-bottom: 4px;
532 max-width: 540px;
533 transition: background 0.2s, border-color 0.2s;
534 }
535
536 .mxch-onboarding-wizard-wrapper .mxch-wiz-kb-status.mxch-wiz-kb-ok {
537 background: rgba(34, 197, 94, 0.09);
538 border-color: rgba(34, 197, 94, 0.28);
539 }
540
541 .mxch-onboarding-wizard-wrapper .mxch-wiz-kb-status.mxch-wiz-kb-empty {
542 color: var(--mxch-text-secondary);
543 }
544
545 .mxch-onboarding-wizard-wrapper .mxch-wiz-kb-dot {
546 width: 18px;
547 height: 18px;
548 display: inline-flex;
549 align-items: center;
550 justify-content: center;
551 border-radius: 50%;
552 background: var(--mxch-card-border, #e2e8f0);
553 color: #fff;
554 flex-shrink: 0;
555 }
556
557 .mxch-onboarding-wizard-wrapper .mxch-wiz-kb-status.mxch-wiz-kb-ok .mxch-wiz-kb-dot {
558 background: var(--mxch-success, #16a34a);
559 }
560
561 .mxch-onboarding-wizard-wrapper .mxch-wiz-kb-text {
562 color: var(--mxch-text-primary);
563 font-weight: 500;
564 }
565
566 /* --- Wizard actions row (Continue / Back / Skip) ---------------- */
567 .mxch-onboarding-wizard-wrapper .mxch-wizard-actions {
568 display: flex;
569 gap: 10px;
570 margin-top: 28px;
571 padding-top: 22px;
572 border-top: 1px solid var(--mxch-card-border, #e2e8f0);
573 flex-wrap: wrap;
574 align-items: center;
575 }
576
577 .mxch-onboarding-wizard-wrapper .mxch-wizard-actions .mxch-wiz-back {
578 margin-right: auto;
579 }
580
581 .mxch-onboarding-wizard-wrapper .mxch-wizard-actions .mxch-wiz-continue {
582 min-width: 132px;
583 }
584
585 .mxch-onboarding-wizard-wrapper .mxch-wizard-actions .mxch-wiz-continue:disabled {
586 opacity: 0.55;
587 cursor: not-allowed;
588 }
589
590 /* --- Step 5 congrats ------------------------------------------- */
591 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-congrats {
592 text-align: center;
593 }
594
595 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-icon {
596 display: inline-flex;
597 align-items: center;
598 justify-content: center;
599 width: 84px;
600 height: 84px;
601 border-radius: 50%;
602 background: rgba(34, 197, 94, 0.10);
603 color: var(--mxch-success, #16a34a);
604 margin: 0 auto 16px;
605 }
606
607 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-title-congrats {
608 font-size: 28px;
609 }
610
611 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-list {
612 list-style: none;
613 padding: 0;
614 margin: 0 auto 22px;
615 text-align: left;
616 max-width: 520px;
617 color: var(--mxch-text-primary);
618 font-size: 14px;
619 line-height: 1.7;
620 }
621
622 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-list li {
623 position: relative;
624 padding-left: 22px;
625 margin-bottom: 8px;
626 }
627
628 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-list li::before {
629 content: "";
630 position: absolute;
631 left: 0;
632 top: 0;
633 color: var(--mxch-primary);
634 font-weight: 700;
635 }
636
637 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-list a {
638 color: var(--mxch-primary);
639 text-decoration: none;
640 font-weight: 500;
641 }
642
643 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-list a:hover {
644 text-decoration: underline;
645 }
646
647 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-graduated {
648 padding: 12px 16px;
649 border-radius: var(--mxch-radius-md);
650 background: rgba(120, 115, 245, 0.08);
651 color: var(--mxch-text-primary);
652 font-size: 13px;
653 margin: 0 auto 22px;
654 max-width: 560px;
655 line-height: 1.5;
656 text-align: center;
657 }
658
659 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-congrats .mxch-wizard-actions {
660 justify-content: center;
661 border-top: none;
662 padding-top: 0;
663 }
664
665 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-congrats .mxch-wizard-actions .mxch-wiz-back {
666 margin-right: 0;
667 }
668
669 /* --- Dismiss row at the bottom of the PAGE — outside both cards.
670 * Ghost / tertiary visual weight so users don't accidentally tap it.
671 * Plan-d14e89 Issue 7. The legacy .mxch-wiz-dismiss-row (inside the card)
672 * is no longer rendered. */
673 .mxch-onboarding-wizard-wrapper .mxch-onboarding-dismiss-row {
674 max-width: 760px;
675 margin: 28px auto 16px;
676 padding: 0 4px;
677 text-align: center;
678 color: var(--mxch-text-muted, #94a3b8);
679 font-size: 12px;
680 line-height: 1.55;
681 }
682
683 .mxch-onboarding-wizard-wrapper .mxch-onboarding-dismiss-link {
684 background: none;
685 border: none;
686 padding: 0;
687 margin: 0 0 4px;
688 color: var(--mxch-text-secondary, #64748b);
689 font-size: 12px;
690 font-weight: 500;
691 text-decoration: underline;
692 text-decoration-color: rgba(100, 116, 139, 0.35);
693 text-underline-offset: 3px;
694 cursor: pointer;
695 display: inline-block;
696 }
697
698 .mxch-onboarding-wizard-wrapper .mxch-onboarding-dismiss-link:hover,
699 .mxch-onboarding-wizard-wrapper .mxch-onboarding-dismiss-link:focus {
700 color: var(--mxch-text-primary, #1a1a2e);
701 text-decoration-color: currentColor;
702 outline: none;
703 }
704
705 .mxch-onboarding-wizard-wrapper .mxch-onboarding-dismiss-hint {
706 display: block;
707 margin-top: 2px;
708 font-size: 11px;
709 color: var(--mxch-text-muted, #94a3b8);
710 }
711
712 /* --- Help footer card (preserved structure from f7c7d4) -------- */
713 .mxch-onboarding-wizard-wrapper .mxch-onboarding-help {
714 max-width: 760px;
715 margin: 16px auto 0;
716 }
717
718 .mxch-onboarding-wizard-wrapper .mxch-help-row {
719 display: flex;
720 align-items: center;
721 justify-content: space-between;
722 flex-wrap: wrap;
723 gap: 12px;
724 }
725
726 .mxch-onboarding-wizard-wrapper .mxch-help-title {
727 margin: 0 0 2px;
728 font-size: 14px;
729 font-weight: 600;
730 color: var(--mxch-text-primary);
731 }
732
733 .mxch-onboarding-wizard-wrapper .mxch-help-subtitle {
734 margin: 0;
735 color: var(--mxch-text-secondary);
736 font-size: 13px;
737 line-height: 1.5;
738 }
739
740 .mxch-onboarding-wizard-wrapper .mxch-help-buttons {
741 display: flex;
742 gap: 8px;
743 flex-wrap: wrap;
744 }
745
746 /* --- Disabled-provider helper (Step 1) — plan-23987f ----------- */
747 .mxch-onboarding-wizard-wrapper .mxch-wiz-disabled-provider-hint {
748 margin: 8px 0 0;
749 padding: 8px 12px;
750 border-radius: var(--mxch-radius-sm, 4px);
751 background: rgba(100, 116, 139, 0.06);
752 color: var(--mxch-text-secondary, #64748b);
753 font-size: 12.5px;
754 line-height: 1.5;
755 border-left: 3px solid var(--mxch-text-muted, #94a3b8);
756 }
757
758 .mxch-onboarding-wizard-wrapper select.mxch-wiz-select option[disabled] {
759 color: var(--mxch-text-muted, #94a3b8);
760 font-style: italic;
761 }
762
763 /* --- Vector-store note (Step 3) — plan-23987f ------------------ */
764 .mxch-onboarding-wizard-wrapper .mxch-wiz-vector-store-note {
765 display: flex;
766 align-items: flex-start;
767 gap: 10px;
768 margin: 16px 0 0;
769 padding: 12px 14px;
770 border-radius: var(--mxch-radius-md, 8px);
771 background: rgba(120, 115, 245, 0.06);
772 color: var(--mxch-text-primary, #1a1a2e);
773 font-size: 13px;
774 line-height: 1.55;
775 }
776 .mxch-onboarding-wizard-wrapper .mxch-wiz-vector-store-note svg {
777 flex: 0 0 auto;
778 color: var(--mxch-primary, #7873f5);
779 margin-top: 1px;
780 }
781 .mxch-onboarding-wizard-wrapper .mxch-wiz-vector-store-note a {
782 color: var(--mxch-primary, #7873f5);
783 text-decoration: none;
784 font-weight: 600;
785 }
786 .mxch-onboarding-wizard-wrapper .mxch-wiz-vector-store-note a:hover {
787 text-decoration: underline;
788 }
789
790 /* --- Congrats: 3-card next-steps grid (Step 6) — plan-23987f + plan-9451be alignment polish --- */
791 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextsteps-grid {
792 display: grid;
793 grid-template-columns: repeat(3, 1fr);
794 align-items: stretch;
795 gap: 16px;
796 margin: 22px auto 22px;
797 max-width: 880px;
798 text-align: left;
799 }
800
801 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-card {
802 display: flex;
803 flex-direction: column;
804 gap: 8px;
805 padding: 20px;
806 min-height: 220px;
807 border-radius: var(--mxch-radius-md, 8px);
808 background: var(--mxch-card-bg, #ffffff);
809 border: 1px solid var(--mxch-card-border, rgba(120, 115, 245, 0.18));
810 color: inherit;
811 text-decoration: none;
812 transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
813 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
814 }
815
816 .mxch-onboarding-wizard-wrapper a.mxch-wiz-nextstep-card:hover,
817 .mxch-onboarding-wizard-wrapper a.mxch-wiz-nextstep-card:focus {
818 border-color: var(--mxch-primary, #7873f5);
819 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.16);
820 transform: translateY(-1px);
821 outline: none;
822 }
823
824 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-icon {
825 display: inline-flex;
826 align-items: center;
827 justify-content: center;
828 width: 36px;
829 height: 36px;
830 border-radius: 8px;
831 background: rgba(120, 115, 245, 0.10);
832 color: var(--mxch-primary, #7873f5);
833 margin-bottom: 4px;
834 }
835
836 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-title {
837 margin: 0;
838 font-size: 15px;
839 font-weight: 600;
840 color: var(--mxch-text-primary, #1a1a2e);
841 line-height: 1.3;
842 }
843
844 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-desc {
845 margin: 0 0 4px;
846 font-size: 13px;
847 color: var(--mxch-text-secondary, #64748b);
848 line-height: 1.5;
849 }
850
851 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-cta {
852 display: inline-flex;
853 align-items: center;
854 gap: 6px;
855 margin-top: auto;
856 padding-top: 6px;
857 font-size: 13px;
858 font-weight: 600;
859 color: var(--mxch-primary, #7873f5);
860 }
861
862 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-cta svg {
863 transition: transform 120ms ease;
864 }
865 .mxch-onboarding-wizard-wrapper a.mxch-wiz-nextstep-card:hover .mxch-wiz-nextstep-cta svg {
866 transform: translateX(2px);
867 }
868
869 /* Embed card differs — has shortcodes + copy buttons, no single CTA arrow */
870 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-card-embed {
871 cursor: default;
872 }
873 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-card-embed:hover {
874 transform: none;
875 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
876 border-color: var(--mxch-card-border, rgba(120, 115, 245, 0.18));
877 }
878
879 /* Pin the first shortcode-row to the bottom so the embed card's footer block
880 baseline-aligns with the CTAs on cards 1+2 (plan-9451be). */
881 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-card-embed .mxch-wiz-shortcode-row:first-of-type {
882 margin-top: auto;
883 }
884
885 .mxch-onboarding-wizard-wrapper .mxch-wiz-shortcode-row {
886 display: flex;
887 align-items: stretch;
888 gap: 6px;
889 margin-top: 6px;
890 }
891
892 .mxch-onboarding-wizard-wrapper .mxch-wiz-shortcode {
893 flex: 1 1 auto;
894 min-width: 0;
895 padding: 6px 8px;
896 border-radius: var(--mxch-radius-sm, 4px);
897 background: rgba(15, 23, 42, 0.04);
898 border: 1px solid rgba(15, 23, 42, 0.06);
899 font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
900 font-size: 12px;
901 color: var(--mxch-text-primary, #1a1a2e);
902 overflow-x: auto;
903 white-space: nowrap;
904 line-height: 1.4;
905 display: inline-flex;
906 align-items: center;
907 }
908
909 .mxch-onboarding-wizard-wrapper .mxch-wiz-shortcode-copy {
910 display: inline-flex;
911 align-items: center;
912 gap: 5px;
913 padding: 6px 10px;
914 border-radius: var(--mxch-radius-sm, 4px);
915 border: 1px solid var(--mxch-card-border, rgba(120, 115, 245, 0.18));
916 background: var(--mxch-card-bg, #ffffff);
917 color: var(--mxch-text-primary, #1a1a2e);
918 font-size: 12px;
919 font-weight: 600;
920 cursor: pointer;
921 transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
922 flex: 0 0 auto;
923 }
924
925 .mxch-onboarding-wizard-wrapper .mxch-wiz-shortcode-copy:hover {
926 border-color: var(--mxch-primary, #7873f5);
927 color: var(--mxch-primary, #7873f5);
928 }
929
930 .mxch-onboarding-wizard-wrapper .mxch-wiz-shortcode-copy.is-copied {
931 background: var(--mxch-success, #16a34a);
932 border-color: var(--mxch-success, #16a34a);
933 color: #ffffff;
934 }
935
936 .mxch-onboarding-wizard-wrapper .mxch-wiz-shortcode-caption {
937 margin: 4px 0 0;
938 font-size: 11.5px;
939 color: var(--mxch-text-muted, #94a3b8);
940 text-align: left;
941 }
942
943 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-footer {
944 display: flex;
945 flex-wrap: wrap;
946 align-items: center;
947 justify-content: center;
948 gap: 18px;
949 margin: 8px auto 0;
950 padding-top: 16px;
951 border-top: 1px solid var(--mxch-card-border, rgba(120, 115, 245, 0.10));
952 max-width: 720px;
953 }
954
955 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-footer-link {
956 background: none;
957 border: none;
958 padding: 0;
959 margin: 0;
960 color: var(--mxch-text-secondary, #64748b);
961 font-size: 13px;
962 font-weight: 500;
963 text-decoration: none;
964 cursor: pointer;
965 }
966 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-footer-link:hover,
967 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-footer-link:focus {
968 color: var(--mxch-primary, #7873f5);
969 text-decoration: underline;
970 outline: none;
971 }
972
973 /* --- Congrats: PRO add-ons conversion block (plan-9451be) ------- */
974 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo {
975 display: grid;
976 grid-template-columns: auto 1fr auto;
977 align-items: center;
978 gap: 20px;
979 max-width: 880px;
980 margin: 4px auto 24px;
981 padding: 18px 22px;
982 text-align: left;
983 text-decoration: none;
984 color: #ffffff;
985 background: linear-gradient(135deg, #6a64ec 0%, #7873f5 50%, #9590ff 100%);
986 border-radius: var(--mxch-radius-md, 8px);
987 box-shadow: 0 6px 20px -8px rgba(120, 115, 245, 0.55), 0 1px 2px rgba(15, 23, 42, 0.06);
988 transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
989 }
990 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo:hover,
991 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo:focus {
992 transform: translateY(-1px);
993 box-shadow: 0 10px 26px -6px rgba(120, 115, 245, 0.65), 0 1px 2px rgba(15, 23, 42, 0.08);
994 filter: saturate(1.08);
995 outline: none;
996 text-decoration: none;
997 color: #ffffff;
998 }
999
1000 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-badge {
1001 display: inline-flex;
1002 align-items: center;
1003 padding: 5px 10px;
1004 border-radius: 999px;
1005 background: rgba(255, 255, 255, 0.18);
1006 color: #ffffff;
1007 font-size: 11px;
1008 font-weight: 700;
1009 letter-spacing: 0.5px;
1010 text-transform: uppercase;
1011 white-space: nowrap;
1012 backdrop-filter: blur(4px);
1013 -webkit-backdrop-filter: blur(4px);
1014 }
1015
1016 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-body {
1017 min-width: 0;
1018 }
1019
1020 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-title {
1021 margin: 0 0 4px;
1022 font-size: 16px;
1023 font-weight: 700;
1024 color: #ffffff;
1025 line-height: 1.25;
1026 }
1027
1028 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-desc {
1029 margin: 0;
1030 font-size: 13px;
1031 color: rgba(255, 255, 255, 0.92);
1032 line-height: 1.5;
1033 }
1034
1035 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-cta {
1036 display: inline-flex;
1037 align-items: center;
1038 gap: 6px;
1039 padding: 9px 16px;
1040 border-radius: var(--mxch-radius-sm, 6px);
1041 background: #ffffff;
1042 color: #5a55d8;
1043 font-size: 13px;
1044 font-weight: 600;
1045 white-space: nowrap;
1046 transition: transform 120ms ease, background 120ms ease;
1047 }
1048 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-cta svg {
1049 transition: transform 120ms ease;
1050 }
1051 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo:hover .mxch-wiz-pro-promo-cta svg,
1052 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo:focus .mxch-wiz-pro-promo-cta svg {
1053 transform: translateX(2px);
1054 }
1055
1056 /* --- Mobile: tighten paddings, stack actions ------------------- */
1057 @media (max-width: 600px) {
1058 .mxch-onboarding-wizard-wrapper .mxch-wizard-progress {
1059 padding: 16px 18px 0;
1060 }
1061 .mxch-onboarding-wizard-wrapper .mxch-wizard-step {
1062 padding: 18px;
1063 }
1064 .mxch-onboarding-wizard-wrapper .mxch-wizard-actions {
1065 flex-direction: column-reverse;
1066 align-items: stretch;
1067 }
1068 .mxch-onboarding-wizard-wrapper .mxch-wizard-actions .mxch-wiz-back {
1069 margin-right: 0;
1070 }
1071 .mxch-onboarding-wizard-wrapper .mxch-wizard-actions .mxch-btn {
1072 width: 100%;
1073 }
1074 .mxch-onboarding-wizard-wrapper .mxch-wiz-key-row {
1075 flex-direction: column;
1076 }
1077 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-title {
1078 font-size: 18px;
1079 }
1080 .mxch-onboarding-wizard-wrapper .mxch-wizard-step-title-congrats {
1081 font-size: 22px;
1082 }
1083 /* Pill nav — drop labels, keep only numbers/checks for tight mobile fit */
1084 .mxch-onboarding-wizard-wrapper .mxch-wizard-pillnav {
1085 padding: 0 18px 4px;
1086 gap: 4px;
1087 }
1088 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill {
1089 flex: 1 1 auto;
1090 padding: 6px 8px;
1091 justify-content: center;
1092 }
1093 .mxch-onboarding-wizard-wrapper .mxch-wizard-pill-label {
1094 display: none;
1095 }
1096 /* Examples — single column on phones */
1097 .mxch-onboarding-wizard-wrapper .mxch-wiz-behavior-examples {
1098 grid-template-columns: 1fr;
1099 }
1100 /* Congrats next-step cards — single column on phones */
1101 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextsteps-grid {
1102 grid-template-columns: 1fr;
1103 gap: 12px;
1104 }
1105 /* On phones each card hugs its content — drop the desktop min-height
1106 so cards don't have empty space below the CTA. */
1107 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-card {
1108 min-height: 0;
1109 }
1110 /* The "pin shortcodes to bottom" trick is desktop-only — on a single-column
1111 stack the embed card's shortcodes should sit naturally below the desc. */
1112 .mxch-onboarding-wizard-wrapper .mxch-wiz-nextstep-card-embed .mxch-wiz-shortcode-row:first-of-type {
1113 margin-top: 6px;
1114 }
1115 .mxch-onboarding-wizard-wrapper .mxch-wiz-congrats-footer {
1116 flex-direction: column;
1117 gap: 10px;
1118 }
1119 /* PRO promo stacks on phones, badge sits above headline, CTA full-width */
1120 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo {
1121 grid-template-columns: 1fr;
1122 gap: 12px;
1123 padding: 18px;
1124 text-align: left;
1125 }
1126 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-badge {
1127 justify-self: start;
1128 }
1129 .mxch-onboarding-wizard-wrapper .mxch-wiz-pro-promo-cta {
1130 justify-content: center;
1131 width: 100%;
1132 }
1133 }
1134