PluginProbe
Yatra – Travel Booking & Tour Operator Software / trunk
Yatra – Travel Booking & Tour Operator Software vtrunk
3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 2.0.10 2.0.11 All 82 releases
yatra / assets / admin / css / setup-wizard.css

setup-wizard.css in Yatra – Travel Booking & Tour Operator Software trunk, at assets/admin/css/setup-wizard.css

845 lines 14.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Yatra Setup Wizard - Clean Professional Design
3 * Senior Designer - Minimal & Elegant
4 */
5
6 /* ========================================
7 BASE & LAYOUT
8 ======================================== */
9
10 .yatra-setup {
11 margin: 0;
12 padding: 0;
13 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
14 background: #fafbfc;
15 min-height: 100vh;
16 line-height: 1.6;
17 }
18
19 .yatra-setup-wrapper {
20 max-width: 880px;
21 margin: 0 auto;
22 padding: 48px 24px 80px;
23 }
24
25 /* ========================================
26 LOGO
27 ======================================== */
28
29 .yatra-setup-logo {
30 text-align: center;
31 margin: 0 0 48px;
32 }
33
34 .yatra-setup-logo a {
35 display: inline-block;
36 }
37
38 .yatra-setup-logo img {
39 max-width: 120px;
40 height: auto;
41 }
42
43 /* ========================================
44 PROGRESS STEPS - HORIZONTAL WITH LINE
45 ======================================== */
46
47 .yatra-setup-steps {
48 display: flex;
49 flex-wrap: wrap;
50 justify-content: center;
51 list-style: none;
52 margin: 0 0 32px;
53 padding: 0;
54 position: relative;
55 background: #fff;
56 border-radius: 8px;
57 padding: 20px 12px;
58 box-shadow: 0 1px 3px rgba(0,0,0,0.05);
59 border: 1px solid #e5e7eb;
60 gap: 8px 6px;
61 }
62
63 /* Progress line */
64 .yatra-setup-steps::before {
65 content: '';
66 position: absolute;
67 top: 42px;
68 left: 60px;
69 right: 60px;
70 height: 2px;
71 background: #e5e7eb;
72 z-index: 0;
73 }
74
75 .yatra-setup-steps li {
76 flex: 1 1 68px;
77 min-width: 64px;
78 max-width: 120px;
79 position: relative;
80 z-index: 1;
81 text-align: center;
82 }
83
84 .yatra-setup-steps li,
85 .yatra-setup-steps li a {
86 display: flex;
87 flex-direction: column;
88 align-items: center;
89 gap: 8px;
90 text-decoration: none;
91 color: #6b7280;
92 font-size: 12px;
93 font-weight: 500;
94 transition: all 0.2s ease;
95 }
96
97 /* Step circle with icon */
98 .yatra-setup-steps li .step-icon {
99 display: flex;
100 align-items: center;
101 justify-content: center;
102 width: 36px;
103 height: 36px;
104 background: #fff;
105 border: 2px solid #d1d5db;
106 border-radius: 50%;
107 transition: all 0.2s ease;
108 position: relative;
109 z-index: 1;
110 }
111
112 .yatra-setup-steps li .step-icon svg {
113 display: block;
114 stroke: #9ca3af;
115 transition: stroke 0.2s ease;
116 }
117
118 /* Active state */
119 .yatra-setup-steps li.active .step-icon {
120 background: #4f46e5;
121 border-color: #4f46e5;
122 box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1);
123 }
124
125 .yatra-setup-steps li.active .step-icon svg {
126 stroke: #fff;
127 }
128
129 .yatra-setup-steps li.active {
130 color: #4f46e5;
131 font-weight: 600;
132 }
133
134 /* Done state */
135 .yatra-setup-steps li.done .step-icon {
136 background: #10b981;
137 border-color: #10b981;
138 }
139
140 .yatra-setup-steps li.done .step-icon svg {
141 stroke: #fff;
142 }
143
144 .yatra-setup-steps li.done,
145 .yatra-setup-steps li.done a {
146 color: #10b981;
147 font-weight: 500;
148 }
149
150 .yatra-setup-steps li.done:hover .step-icon {
151 transform: scale(1.05);
152 }
153
154 /* ========================================
155 MAIN CARD
156 ======================================== */
157
158 .yatra-setup-content {
159 background: transparent;
160 margin-bottom: 24px;
161 }
162
163 .wizard-step {
164 background: #fff;
165 border-radius: 12px;
166 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
167 border: 1px solid #e5e7eb;
168 overflow: hidden;
169 }
170
171 .wizard-header {
172 padding: 32px 32px 24px;
173 background: #fafbfc;
174 border-bottom: 1px solid #e5e7eb;
175 }
176
177 .wizard-header h1 {
178 margin: 0 0 8px;
179 font-size: 24px;
180 font-weight: 600;
181 color: #111827;
182 letter-spacing: -0.02em;
183 line-height: 1.3;
184 }
185
186 .wizard-header p {
187 margin: 0;
188 font-size: 14px;
189 color: #6b7280;
190 line-height: 1.5;
191 }
192
193 /* Task steps: progress + outcome-focused subtitle (no “welcome” tone) */
194 .wizard-header--task {
195 text-align: left;
196 }
197
198 .wizard-header-kicker {
199 margin: 0 0 8px;
200 font-size: 12px;
201 font-weight: 600;
202 letter-spacing: 0.04em;
203 text-transform: uppercase;
204 color: #6b7280;
205 }
206
207 .wizard-header-lead {
208 margin: 0;
209 font-size: 15px;
210 color: #4b5563;
211 line-height: 1.55;
212 max-width: 42em;
213 }
214
215 .wizard-header--welcome {
216 text-align: center;
217 background: linear-gradient(180deg, #eef2ff 0%, #fafbfc 55%);
218 }
219
220 .wizard-header--welcome h1 {
221 margin-bottom: 12px;
222 }
223
224 .wizard-welcome-sub {
225 margin: 0;
226 font-size: 17px;
227 color: #4b5563;
228 font-weight: 400;
229 line-height: 1.5;
230 }
231
232 .wizard-content--welcome {
233 padding-top: 28px;
234 }
235
236 .wizard-welcome-lead {
237 margin: 0 0 16px;
238 font-size: 15px;
239 font-weight: 600;
240 color: #374151;
241 }
242
243 .wizard-welcome-checklist {
244 margin-bottom: 20px;
245 }
246
247 .wizard-welcome-note {
248 margin-top: 8px;
249 }
250
251 .wizard-footer--welcome {
252 justify-content: space-between;
253 }
254
255 .wizard-footer-actions {
256 display: flex;
257 align-items: center;
258 gap: 10px;
259 flex-wrap: wrap;
260 }
261
262 .wizard-footer-back {
263 display: inline-flex;
264 align-items: center;
265 gap: 8px;
266 }
267
268 .wizard-req {
269 color: #ef4444;
270 font-weight: 600;
271 }
272
273 .wizard-card {
274 border: 1px solid #e5e7eb;
275 border-radius: 10px;
276 padding: 20px 22px;
277 margin-bottom: 16px;
278 background: #fafbfc;
279 }
280
281 .wizard-card:last-child {
282 margin-bottom: 0;
283 }
284
285 .wizard-card--highlight {
286 border-color: #c7d2fe;
287 background: #f5f7ff;
288 }
289
290 .wizard-card-title {
291 margin: 0 0 12px;
292 font-size: 15px;
293 font-weight: 600;
294 color: #111827;
295 }
296
297 .wizard-card-intro {
298 margin: 0 0 14px;
299 font-size: 13px;
300 color: #6b7280;
301 line-height: 1.5;
302 }
303
304 .wizard-check-row {
305 display: flex;
306 gap: 12px;
307 align-items: flex-start;
308 margin-bottom: 16px;
309 cursor: pointer;
310 font-size: 14px;
311 color: #374151;
312 line-height: 1.45;
313 }
314
315 .wizard-check-row:last-child {
316 margin-bottom: 0;
317 }
318
319 .wizard-check-row input[type="checkbox"] {
320 margin-top: 3px;
321 flex-shrink: 0;
322 width: 18px;
323 height: 18px;
324 accent-color: #4f46e5;
325 }
326
327 .wizard-check-row strong {
328 display: block;
329 margin-bottom: 4px;
330 color: #111827;
331 }
332
333 .wizard-check-desc {
334 display: block;
335 font-size: 13px;
336 color: #6b7280;
337 font-weight: 400;
338 }
339
340 .wizard-content {
341 padding: 32px;
342 }
343
344 .wizard-footer {
345 padding: 20px 32px;
346 border-top: 1px solid #e5e7eb;
347 background: #fafbfc;
348 display: flex;
349 justify-content: space-between;
350 align-items: center;
351 gap: 12px;
352 }
353
354 /* ========================================
355 INFO BOXES
356 ======================================== */
357
358 .info-box {
359 background: #f9fafb;
360 border: 1px solid #e5e7eb;
361 border-radius: 8px;
362 padding: 20px;
363 margin-bottom: 24px;
364 }
365
366 .info-box p {
367 margin: 0 0 16px;
368 font-size: 14px;
369 color: #374151;
370 font-weight: 500;
371 }
372
373 .info-box p:last-child {
374 margin-bottom: 0;
375 }
376
377 .checklist {
378 list-style: none;
379 margin: 0;
380 padding: 0;
381 }
382
383 .checklist li {
384 padding: 8px 0;
385 display: flex;
386 align-items: flex-start;
387 gap: 12px;
388 font-size: 14px;
389 color: #374151;
390 line-height: 1.6;
391 }
392
393 .checklist li svg {
394 flex-shrink: 0;
395 color: #10b981;
396 margin-top: 2px;
397 }
398
399 .info-note {
400 padding: 12px 16px;
401 background: #fef3c7;
402 border-left: 3px solid #f59e0b;
403 border-radius: 6px;
404 font-size: 13px;
405 color: #92400e;
406 line-height: 1.5;
407 display: flex;
408 align-items: flex-start;
409 gap: 8px;
410 }
411
412 .info-note svg {
413 flex-shrink: 0;
414 margin-top: 2px;
415 }
416
417 /* ========================================
418 FORMS
419 ======================================== */
420
421 .form-group {
422 margin-bottom: 24px;
423 }
424
425 .form-row {
426 display: grid;
427 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
428 gap: 24px;
429 margin-bottom: 24px;
430 }
431
432 .form-label {
433 display: block;
434 margin-bottom: 8px;
435 font-size: 13px;
436 font-weight: 600;
437 color: #374151;
438 }
439
440 .form-label input[type="checkbox"] {
441 margin-right: 8px;
442 width: 16px;
443 height: 16px;
444 vertical-align: middle;
445 cursor: pointer;
446 accent-color: #4f46e5;
447 }
448
449 .form-control {
450 width: 100%;
451 padding: 10px 12px;
452 font-size: 14px;
453 border: 1px solid #d1d5db;
454 border-radius: 6px;
455 background: #fff;
456 transition: all 0.15s ease;
457 color: #111827;
458 box-sizing: border-box;
459 }
460
461 .form-control:hover {
462 border-color: #9ca3af;
463 }
464
465 .form-control:focus {
466 outline: none;
467 border-color: #4f46e5;
468 box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
469 }
470
471 .form-help {
472 margin: 6px 0 0;
473 font-size: 12px;
474 color: #6b7280;
475 line-height: 1.5;
476 }
477
478 /* ========================================
479 BUTTONS
480 ======================================== */
481
482 .btn {
483 display: inline-flex;
484 align-items: center;
485 justify-content: center;
486 padding: 10px 20px;
487 font-size: 14px;
488 font-weight: 600;
489 text-decoration: none;
490 border: 1px solid transparent;
491 border-radius: 6px;
492 cursor: pointer;
493 transition: all 0.15s ease;
494 line-height: 1.5;
495 }
496
497 .btn-primary {
498 background: #4f46e5;
499 color: #fff;
500 border-color: #4f46e5;
501 }
502
503 .btn-primary:hover {
504 background: #4338ca;
505 border-color: #4338ca;
506 transform: translateY(-1px);
507 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
508 }
509
510 .btn-primary:active {
511 transform: translateY(0);
512 }
513
514 .btn-secondary {
515 background: #fff;
516 color: #6b7280;
517 border: 1px solid #d1d5db;
518 }
519
520 .btn-secondary:hover {
521 background: #f9fafb;
522 color: #374151;
523 border-color: #9ca3af;
524 }
525
526 /* ========================================
527 THEME CARDS
528 ======================================== */
529
530 .theme-grid {
531 display: grid;
532 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
533 gap: 20px;
534 margin: 24px 0;
535 }
536
537 .theme-card {
538 border: 1px solid #e5e7eb;
539 border-radius: 8px;
540 overflow: hidden;
541 background: #fff;
542 transition: all 0.2s ease;
543 }
544
545 .theme-card:hover {
546 border-color: #4f46e5;
547 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
548 transform: translateY(-2px);
549 }
550
551 .theme-card.recommended {
552 border-color: #4f46e5;
553 box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
554 }
555
556 .theme-preview {
557 height: 160px;
558 background: #f3f4f6;
559 overflow: hidden;
560 }
561
562 .theme-preview img {
563 width: 100%;
564 height: 100%;
565 object-fit: cover;
566 }
567
568 .theme-info {
569 padding: 20px;
570 }
571
572 .theme-badge {
573 display: inline-block;
574 padding: 4px 12px;
575 background: #4f46e5;
576 color: #fff;
577 font-size: 11px;
578 font-weight: 700;
579 border-radius: 12px;
580 margin-bottom: 12px;
581 text-transform: uppercase;
582 letter-spacing: 0.05em;
583 }
584
585 .theme-info h3 {
586 margin: 0 0 8px;
587 font-size: 16px;
588 color: #111827;
589 font-weight: 600;
590 }
591
592 .theme-info p {
593 margin: 0 0 12px;
594 font-size: 13px;
595 color: #6b7280;
596 line-height: 1.5;
597 }
598
599 .theme-features {
600 list-style: none;
601 margin: 12px 0 0;
602 padding: 0;
603 }
604
605 .theme-features li {
606 padding: 4px 0;
607 font-size: 13px;
608 color: #6b7280;
609 display: flex;
610 align-items: center;
611 gap: 8px;
612 }
613
614 .theme-features li::before {
615 content: '';
616 color: #4f46e5;
617 font-weight: bold;
618 }
619
620 .checkbox-option {
621 display: flex;
622 align-items: center;
623 padding: 12px;
624 background: #f9fafb;
625 border: 1px solid #e5e7eb;
626 border-radius: 6px;
627 margin-top: 12px;
628 transition: all 0.15s ease;
629 cursor: pointer;
630 }
631
632 .checkbox-option:hover {
633 background: #f3f4f6;
634 border-color: #4f46e5;
635 }
636
637 .checkbox-option input {
638 margin-right: 12px;
639 cursor: pointer;
640 accent-color: #4f46e5;
641 }
642
643 .checkbox-option span {
644 font-size: 14px;
645 font-weight: 500;
646 color: #374151;
647 }
648
649 /* ========================================
650 COMPLETE STEP
651 ======================================== */
652
653 .success-icon {
654 text-align: center;
655 margin-bottom: 24px;
656 }
657
658 .success-icon svg {
659 color: #10b981;
660 display: inline-block;
661 }
662
663 .next-steps {
664 display: grid;
665 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
666 gap: 16px;
667 margin: 24px 0;
668 }
669
670 .next-step {
671 padding: 20px;
672 background: #f9fafb;
673 border: 1px solid #e5e7eb;
674 border-radius: 8px;
675 transition: all 0.2s ease;
676 }
677
678 .next-step:hover {
679 border-color: #4f46e5;
680 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
681 }
682
683 .next-step h3 {
684 margin: 0 0 8px;
685 font-size: 15px;
686 color: #111827;
687 font-weight: 600;
688 }
689
690 .next-step p {
691 margin: 0;
692 font-size: 13px;
693 color: #6b7280;
694 line-height: 1.5;
695 }
696
697 /* ========================================
698 PREMIUM BOX
699 ======================================== */
700
701 .premium-box {
702 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
703 color: #fff;
704 padding: 32px;
705 border-radius: 12px;
706 margin: 24px 0;
707 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
708 }
709
710 .premium-box h3 {
711 margin: 0 0 12px;
712 font-size: 20px;
713 color: #fff;
714 font-weight: 600;
715 }
716
717 .premium-box p {
718 margin: 0 0 24px;
719 font-size: 14px;
720 opacity: 0.95;
721 line-height: 1.6;
722 }
723
724 .premium-features {
725 display: grid;
726 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
727 gap: 16px;
728 margin: 24px 0;
729 }
730
731 .premium-feature {
732 padding: 16px;
733 background: rgba(255, 255, 255, 0.1);
734 border-radius: 8px;
735 border: 1px solid rgba(255, 255, 255, 0.2);
736 }
737
738 .premium-feature h4 {
739 margin: 0 0 6px;
740 font-size: 14px;
741 color: #fff;
742 font-weight: 600;
743 }
744
745 .premium-feature p {
746 margin: 0;
747 font-size: 13px;
748 opacity: 0.9;
749 }
750
751 .premium-cta {
752 text-align: center;
753 margin-top: 24px;
754 }
755
756 .premium-cta .btn {
757 background: #fff;
758 color: #4f46e5;
759 font-weight: 600;
760 padding: 12px 32px;
761 }
762
763 .premium-cta .btn:hover {
764 background: #f9fafb;
765 transform: translateY(-2px);
766 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
767 }
768
769 /* ========================================
770 RESPONSIVE
771 ======================================== */
772
773 @media (max-width: 768px) {
774 .yatra-setup-wrapper {
775 padding: 32px 16px 60px;
776 }
777
778 .wizard-header {
779 padding: 24px 20px 20px;
780 }
781
782 .wizard-content {
783 padding: 24px 20px;
784 }
785
786 .wizard-footer {
787 padding: 16px 20px;
788 flex-direction: column-reverse;
789 align-items: stretch;
790 gap: 12px;
791 }
792
793 .wizard-footer-actions {
794 width: 100%;
795 justify-content: stretch;
796 }
797
798 .wizard-footer-actions .btn-skip,
799 .wizard-footer-actions .btn-primary {
800 flex: 1;
801 justify-content: center;
802 }
803
804 .wizard-header h1 {
805 font-size: 20px;
806 }
807
808 .wizard-header p {
809 font-size: 13px;
810 }
811
812 .yatra-setup-steps {
813 padding: 16px 12px;
814 }
815
816 .yatra-setup-steps::before {
817 display: none;
818 }
819
820 .yatra-setup-steps li,
821 .yatra-setup-steps li a {
822 font-size: 11px;
823 }
824
825 .yatra-setup-steps li .step-icon {
826 width: 32px;
827 height: 32px;
828 }
829
830 .form-row {
831 grid-template-columns: 1fr;
832 gap: 16px;
833 }
834
835 .wizard-footer .btn {
836 width: 100%;
837 }
838
839 .theme-grid,
840 .next-steps,
841 .premium-features {
842 grid-template-columns: 1fr;
843 }
844 }
845