PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.78
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.78
51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 51.1.45 51.1.46 51.1.47 51.1.49 All 37 releases
king-addons / includes / extensions / Fomo_Notifications / assets / admin.css

admin.css in King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder 51.1.78, at includes/extensions/Fomo_Notifications/assets/admin.css

1,793 lines 37.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Fomo Notifications - Admin Styles
3 * Design System with Light & Dark Mode
4 *
5 * @package King_Addons
6 */
7
8 /* ============================================
9 CSS Variables - Design System
10 ============================================ */
11
12 :root {
13 /* Core Colors */
14 --kng-fomo-bg: #ffffff;
15 --kng-fomo-bg-secondary: #f5f5f7;
16 --kng-fomo-card-bg: #ffffff;
17 --kng-fomo-text: #1d1d1f;
18 --kng-fomo-text-secondary: #86868b;
19 --kng-fomo-text-tertiary: #aeaeb2;
20
21 /* Brand Colors */
22 --kng-fomo-primary: #0071e3;
23 --kng-fomo-primary-hover: #0077ed;
24 --kng-fomo-primary-light: rgba(0, 113, 227, 0.08);
25 --kng-fomo-accent: #bf5af2;
26 --kng-fomo-accent-light: rgba(191, 90, 242, 0.12);
27
28 /* Status Colors */
29 --kng-fomo-success: #34c759;
30 --kng-fomo-success-light: rgba(52, 199, 89, 0.12);
31 --kng-fomo-warning: #ff9500;
32 --kng-fomo-warning-light: rgba(255, 149, 0, 0.12);
33 --kng-fomo-danger: #ff3b30;
34 --kng-fomo-danger-light: rgba(255, 59, 48, 0.12);
35
36 /* Borders & Shadows */
37 --kng-fomo-border: rgba(0, 0, 0, 0.06);
38 --kng-fomo-border-hover: rgba(0, 0, 0, 0.12);
39 --kng-fomo-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
40 --kng-fomo-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
41 --kng-fomo-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.1);
42
43 /* Typography */
44 --kng-fomo-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
45
46 /* Spacing */
47 --kng-fomo-radius-sm: 8px;
48 --kng-fomo-radius: 16px;
49 --kng-fomo-radius-lg: 24px;
50 --kng-fomo-radius-xl: 32px;
51
52 /* Transitions */
53 --kng-fomo-transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
54 --kng-fomo-transition-fast: all 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
55 }
56
57 /* Dark Mode */
58 @media (prefers-color-scheme: dark) {
59 :root {
60 --kng-fomo-bg: #000000;
61 --kng-fomo-bg-secondary: #1c1c1e;
62 --kng-fomo-card-bg: #1c1c1e;
63 --kng-fomo-text: #f5f5f7;
64 --kng-fomo-text-secondary: #98989d;
65 --kng-fomo-text-tertiary: #636366;
66 --kng-fomo-border: rgba(255, 255, 255, 0.08);
67 --kng-fomo-border-hover: rgba(255, 255, 255, 0.16);
68 }
69 }
70
71 /* ============================================
72 Base Reset
73 ============================================ */
74
75 body.king-addons_page_king-addons-fomo #wpcontent,
76 body.king-addons_page_king-addons-fomo #wpbody,
77 body.king-addons_page_king-addons-fomo #wpbody-content {
78 background: var(--kng-fomo-bg) !important;
79 padding: 0 !important;
80 }
81
82 body.king-addons_page_king-addons-fomo #wpfooter {
83 display: none;
84 }
85
86 /* ============================================
87 Main Container
88 ============================================ */
89
90 .kng-fomo-admin {
91 font-family: var(--kng-fomo-font);
92 max-width: 1400px;
93 margin: 0 auto;
94 padding: 60px 40px;
95 color: var(--kng-fomo-text);
96 -webkit-font-smoothing: antialiased;
97 }
98
99 .kng-fomo-admin * {
100 box-sizing: border-box;
101 }
102
103 /* ============================================
104 Navigation
105 ============================================ */
106
107 .kng-fomo-nav {
108 display: flex;
109 align-items: center;
110 gap: 8px;
111 margin-bottom: 48px;
112 padding: 6px;
113 background: var(--kng-fomo-bg-secondary);
114 border-radius: 14px;
115 width: fit-content;
116 }
117
118 .kng-fomo-nav-item {
119 display: flex;
120 align-items: center;
121 gap: 8px;
122 padding: 10px 20px;
123 font-size: 14px;
124 font-weight: 500;
125 color: var(--kng-fomo-text-secondary);
126 text-decoration: none;
127 border-radius: 10px;
128 transition: var(--kng-fomo-transition-fast);
129 }
130
131 .kng-fomo-nav-item:hover {
132 color: var(--kng-fomo-text);
133 background: rgba(0, 0, 0, 0.04);
134 }
135
136 .kng-fomo-nav-item.is-active {
137 color: var(--kng-fomo-text);
138 background: var(--kng-fomo-card-bg);
139 box-shadow: var(--kng-fomo-shadow-sm);
140 }
141
142 .kng-fomo-nav-item svg {
143 width: 18px;
144 height: 18px;
145 }
146
147 /* ============================================
148 Hero Section (Dashboard)
149 ============================================ */
150
151 .kng-fomo-hero {
152 text-align: center;
153 padding: 80px 40px;
154 margin-bottom: 60px;
155 background: linear-gradient(180deg, var(--kng-fomo-bg) 0%, var(--kng-fomo-bg-secondary) 100%);
156 border-radius: var(--kng-fomo-radius-xl);
157 position: relative;
158 overflow: hidden;
159 }
160
161 .kng-fomo-hero::before {
162 content: '';
163 position: absolute;
164 top: -50%;
165 left: 50%;
166 transform: translateX(-50%);
167 width: 800px;
168 height: 800px;
169 background: radial-gradient(circle, var(--kng-fomo-primary-light) 0%, transparent 70%);
170 pointer-events: none;
171 }
172
173 .kng-fomo-hero-badge {
174 display: inline-flex;
175 align-items: center;
176 gap: 6px;
177 padding: 6px 14px;
178 font-size: 12px;
179 font-weight: 600;
180 color: var(--kng-fomo-primary);
181 background: var(--kng-fomo-primary-light);
182 border-radius: 100px;
183 margin-bottom: 24px;
184 text-transform: uppercase;
185 letter-spacing: 0.5px;
186 }
187
188 .kng-fomo-hero-title {
189 font-size: 56px;
190 font-weight: 700;
191 letter-spacing: -0.02em;
192 line-height: 1.1;
193 margin: 0 0 16px;
194 background: linear-gradient(135deg, var(--kng-fomo-text) 0%, var(--kng-fomo-text-secondary) 100%);
195 -webkit-background-clip: text;
196 -webkit-text-fill-color: transparent;
197 background-clip: text;
198 }
199
200 .kng-fomo-hero-subtitle {
201 font-size: 21px;
202 font-weight: 400;
203 color: var(--kng-fomo-text-secondary);
204 line-height: 1.5;
205 max-width: 600px;
206 margin: 0 auto 40px;
207 }
208
209 .kng-fomo-hero-actions {
210 display: flex;
211 justify-content: center;
212 gap: 16px;
213 }
214
215 /* ============================================
216 Buttons
217 ============================================ */
218
219 .kng-fomo-btn {
220 display: inline-flex;
221 align-items: center;
222 justify-content: center;
223 gap: 8px;
224 padding: 14px 28px;
225 font-size: 15px;
226 font-weight: 500;
227 font-family: var(--kng-fomo-font);
228 text-decoration: none;
229 border-radius: 980px;
230 border: none;
231 cursor: pointer;
232 transition: var(--kng-fomo-transition);
233 }
234
235 .kng-fomo-btn svg {
236 width: 18px;
237 height: 18px;
238 }
239
240 .kng-fomo-btn--primary {
241 color: #ffffff;
242 background: var(--kng-fomo-primary);
243 box-shadow: 0 4px 16px rgba(0, 113, 227, 0.3);
244 }
245
246 .kng-fomo-btn--primary:hover {
247 background: var(--kng-fomo-primary-hover);
248 transform: translateY(-1px);
249 box-shadow: 0 6px 20px rgba(0, 113, 227, 0.4);
250 }
251
252 .kng-fomo-btn--secondary {
253 color: var(--kng-fomo-primary);
254 background: var(--kng-fomo-primary-light);
255 }
256
257 .kng-fomo-btn--secondary:hover {
258 background: rgba(0, 113, 227, 0.12);
259 }
260
261 .kng-fomo-btn--ghost {
262 color: var(--kng-fomo-text);
263 background: transparent;
264 border: 1px solid var(--kng-fomo-border);
265 }
266
267 .kng-fomo-btn--ghost:hover {
268 background: var(--kng-fomo-bg-secondary);
269 border-color: var(--kng-fomo-border-hover);
270 }
271
272 .kng-fomo-btn--sm {
273 padding: 10px 18px;
274 font-size: 13px;
275 }
276
277 .kng-fomo-btn--danger {
278 color: var(--kng-fomo-danger);
279 background: var(--kng-fomo-danger-light);
280 }
281
282 .kng-fomo-btn--danger:hover {
283 background: rgba(255, 59, 48, 0.18);
284 }
285
286 .kng-fomo-btn:disabled {
287 opacity: 0.5;
288 cursor: not-allowed;
289 transform: none !important;
290 }
291
292 /* ============================================
293 KPI Cards
294 ============================================ */
295
296 .kng-fomo-kpis {
297 display: grid;
298 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
299 gap: 24px;
300 margin-bottom: 48px;
301 }
302
303 .kng-fomo-kpi {
304 background: var(--kng-fomo-card-bg);
305 border: 1px solid var(--kng-fomo-border);
306 border-radius: var(--kng-fomo-radius-lg);
307 padding: 32px;
308 transition: var(--kng-fomo-transition);
309 }
310
311 .kng-fomo-kpi:hover {
312 border-color: var(--kng-fomo-border-hover);
313 box-shadow: var(--kng-fomo-shadow);
314 }
315
316 .kng-fomo-kpi-icon {
317 width: 48px;
318 height: 48px;
319 display: flex;
320 align-items: center;
321 justify-content: center;
322 border-radius: 14px;
323 margin-bottom: 20px;
324 }
325
326 .kng-fomo-kpi-icon--views {
327 background: var(--kng-fomo-primary-light);
328 color: var(--kng-fomo-primary);
329 }
330
331 .kng-fomo-kpi-icon--clicks {
332 background: var(--kng-fomo-success-light);
333 color: var(--kng-fomo-success);
334 }
335
336 .kng-fomo-kpi-icon--ctr {
337 background: var(--kng-fomo-accent-light);
338 color: var(--kng-fomo-accent);
339 }
340
341 .kng-fomo-kpi-icon svg {
342 width: 24px;
343 height: 24px;
344 }
345
346 .kng-fomo-kpi-value {
347 font-size: 40px;
348 font-weight: 700;
349 letter-spacing: -0.02em;
350 margin-bottom: 8px;
351 color: var(--kng-fomo-text);
352 }
353
354 .kng-fomo-kpi-label {
355 font-size: 14px;
356 font-weight: 500;
357 color: var(--kng-fomo-text-secondary);
358 text-transform: uppercase;
359 letter-spacing: 0.5px;
360 }
361
362 .kng-fomo-kpi-change {
363 display: inline-flex;
364 align-items: center;
365 gap: 4px;
366 margin-top: 12px;
367 font-size: 13px;
368 font-weight: 500;
369 padding: 4px 10px;
370 border-radius: 100px;
371 }
372
373 .kng-fomo-kpi-change--up {
374 color: var(--kng-fomo-success);
375 background: var(--kng-fomo-success-light);
376 }
377
378 .kng-fomo-kpi-change--down {
379 color: var(--kng-fomo-danger);
380 background: var(--kng-fomo-danger-light);
381 }
382
383 /* ============================================
384 Section Headers
385 ============================================ */
386
387 .kng-fomo-section {
388 margin-bottom: 48px;
389 }
390
391 .kng-fomo-section-header {
392 display: flex;
393 justify-content: space-between;
394 align-items: center;
395 margin-bottom: 24px;
396 }
397
398 .kng-fomo-section-title {
399 font-size: 28px;
400 font-weight: 700;
401 letter-spacing: -0.01em;
402 margin: 0;
403 color: var(--kng-fomo-text);
404 }
405
406 .kng-fomo-section-subtitle {
407 font-size: 15px;
408 color: var(--kng-fomo-text-secondary);
409 margin: 4px 0 0;
410 }
411
412 /* ============================================
413 Cards Grid
414 ============================================ */
415
416 .kng-fomo-grid {
417 display: grid;
418 gap: 24px;
419 }
420
421 .kng-fomo-grid--2 {
422 grid-template-columns: repeat(2, 1fr);
423 }
424
425 .kng-fomo-grid--3 {
426 grid-template-columns: repeat(3, 1fr);
427 }
428
429 .kng-fomo-grid--4 {
430 grid-template-columns: repeat(4, 1fr);
431 }
432
433 /* ============================================
434 Card Component
435 ============================================ */
436
437 .kng-fomo-card {
438 background: var(--kng-fomo-card-bg);
439 border: 1px solid var(--kng-fomo-border);
440 border-radius: var(--kng-fomo-radius-lg);
441 padding: 28px;
442 transition: var(--kng-fomo-transition);
443 }
444
445 .kng-fomo-card:hover {
446 border-color: var(--kng-fomo-border-hover);
447 box-shadow: var(--kng-fomo-shadow);
448 }
449
450 .kng-fomo-card--clickable {
451 cursor: pointer;
452 }
453
454 .kng-fomo-card--clickable:hover {
455 transform: translateY(-2px);
456 }
457
458 .kng-fomo-card--selected {
459 border-color: var(--kng-fomo-primary);
460 box-shadow: 0 0 0 3px var(--kng-fomo-primary-light);
461 }
462
463 .kng-fomo-card-icon {
464 width: 56px;
465 height: 56px;
466 display: flex;
467 align-items: center;
468 justify-content: center;
469 background: var(--kng-fomo-bg-secondary);
470 border-radius: 16px;
471 margin-bottom: 20px;
472 color: var(--kng-fomo-text-secondary);
473 }
474
475 .kng-fomo-card-icon svg {
476 width: 28px;
477 height: 28px;
478 }
479
480 .kng-fomo-card-title {
481 font-size: 17px;
482 font-weight: 600;
483 margin: 0 0 8px;
484 color: var(--kng-fomo-text);
485 }
486
487 .kng-fomo-card-desc {
488 font-size: 14px;
489 color: var(--kng-fomo-text-secondary);
490 line-height: 1.5;
491 margin: 0;
492 }
493
494 .kng-fomo-card-badge {
495 display: inline-flex;
496 padding: 4px 10px;
497 font-size: 11px;
498 font-weight: 600;
499 border-radius: 100px;
500 text-transform: uppercase;
501 letter-spacing: 0.5px;
502 margin-left: 8px;
503 }
504
505 .kng-fomo-card-badge--pro {
506 color: var(--kng-fomo-accent);
507 background: var(--kng-fomo-accent-light);
508 }
509
510 .kng-fomo-card-badge--new {
511 color: var(--kng-fomo-success);
512 background: var(--kng-fomo-success-light);
513 }
514
515 /* Pro Locked Card */
516 .kng-fomo-card--locked {
517 opacity: 0.7;
518 position: relative;
519 }
520
521 .kng-fomo-card--locked::after {
522 content: '';
523 position: absolute;
524 inset: 0;
525 background: linear-gradient(135deg, transparent 0%, rgba(0, 0, 0, 0.02) 100%);
526 border-radius: var(--kng-fomo-radius-lg);
527 pointer-events: none;
528 }
529
530 /* ============================================
531 Table Styles
532 ============================================ */
533
534 .kng-fomo-table-wrap {
535 background: var(--kng-fomo-card-bg);
536 border: 1px solid var(--kng-fomo-border);
537 border-radius: var(--kng-fomo-radius-lg);
538 overflow: hidden;
539 }
540
541 .kng-fomo-table {
542 width: 100%;
543 border-collapse: collapse;
544 }
545
546 .kng-fomo-table th,
547 .kng-fomo-table td {
548 padding: 16px 20px;
549 text-align: left;
550 }
551
552 .kng-fomo-table thead {
553 background: var(--kng-fomo-bg-secondary);
554 }
555
556 .kng-fomo-table th {
557 font-size: 12px;
558 font-weight: 600;
559 color: var(--kng-fomo-text-secondary);
560 text-transform: uppercase;
561 letter-spacing: 0.5px;
562 }
563
564 .kng-fomo-table tbody tr {
565 border-bottom: 1px solid var(--kng-fomo-border);
566 transition: var(--kng-fomo-transition-fast);
567 }
568
569 .kng-fomo-table tbody tr:last-child {
570 border-bottom: none;
571 }
572
573 .kng-fomo-table tbody tr:hover {
574 background: var(--kng-fomo-bg-secondary);
575 }
576
577 .kng-fomo-table td {
578 font-size: 14px;
579 color: var(--kng-fomo-text);
580 }
581
582 .kng-fomo-table-title {
583 font-weight: 600;
584 display: flex;
585 align-items: center;
586 gap: 12px;
587 }
588
589 .kng-fomo-table-preview {
590 width: 40px;
591 height: 40px;
592 background: var(--kng-fomo-bg-secondary);
593 border-radius: 10px;
594 display: flex;
595 align-items: center;
596 justify-content: center;
597 color: var(--kng-fomo-text-tertiary);
598 }
599
600 .kng-fomo-table-preview svg {
601 width: 20px;
602 height: 20px;
603 }
604
605 .kng-fomo-table-actions {
606 display: flex;
607 gap: 8px;
608 opacity: 0;
609 transition: var(--kng-fomo-transition-fast);
610 }
611
612 .kng-fomo-table tbody tr:hover .kng-fomo-table-actions {
613 opacity: 1;
614 }
615
616 .kng-fomo-table-action {
617 width: 32px;
618 height: 32px;
619 display: flex;
620 align-items: center;
621 justify-content: center;
622 background: var(--kng-fomo-bg);
623 border: 1px solid var(--kng-fomo-border);
624 border-radius: 8px;
625 color: var(--kng-fomo-text-secondary);
626 cursor: pointer;
627 transition: var(--kng-fomo-transition-fast);
628 }
629
630 .kng-fomo-table-action:hover {
631 color: var(--kng-fomo-text);
632 border-color: var(--kng-fomo-border-hover);
633 }
634
635 .kng-fomo-table-action--danger:hover {
636 color: var(--kng-fomo-danger);
637 border-color: var(--kng-fomo-danger);
638 background: var(--kng-fomo-danger-light);
639 }
640
641 .kng-fomo-table-action svg {
642 width: 16px;
643 height: 16px;
644 }
645
646 /* ============================================
647 Status Toggle
648 ============================================ */
649
650 .kng-fomo-toggle {
651 position: relative;
652 width: 48px;
653 height: 28px;
654 }
655
656 .kng-fomo-toggle input {
657 opacity: 0;
658 width: 0;
659 height: 0;
660 }
661
662 .kng-fomo-toggle-slider {
663 position: absolute;
664 cursor: pointer;
665 top: 0;
666 left: 0;
667 right: 0;
668 bottom: 0;
669 background: var(--kng-fomo-text-tertiary);
670 border-radius: 28px;
671 transition: var(--kng-fomo-transition);
672 }
673
674 .kng-fomo-toggle-slider::before {
675 position: absolute;
676 content: "";
677 height: 22px;
678 width: 22px;
679 left: 3px;
680 bottom: 3px;
681 background: #ffffff;
682 border-radius: 50%;
683 transition: var(--kng-fomo-transition);
684 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
685 }
686
687 .kng-fomo-toggle input:checked + .kng-fomo-toggle-slider {
688 background: var(--kng-fomo-success);
689 }
690
691 .kng-fomo-toggle input:checked + .kng-fomo-toggle-slider::before {
692 transform: translateX(20px);
693 }
694
695 /* ============================================
696 Status Badges
697 ============================================ */
698
699 .kng-fomo-status {
700 display: inline-flex;
701 align-items: center;
702 gap: 6px;
703 padding: 6px 12px;
704 font-size: 12px;
705 font-weight: 600;
706 border-radius: 100px;
707 text-transform: uppercase;
708 letter-spacing: 0.3px;
709 }
710
711 .kng-fomo-status--enabled {
712 color: var(--kng-fomo-success);
713 background: var(--kng-fomo-success-light);
714 }
715
716 .kng-fomo-status--disabled {
717 color: var(--kng-fomo-text-tertiary);
718 background: var(--kng-fomo-bg-secondary);
719 }
720
721 .kng-fomo-status-dot {
722 width: 6px;
723 height: 6px;
724 border-radius: 50%;
725 background: currentColor;
726 }
727
728 /* ============================================
729 Wizard Styles
730 ============================================ */
731
732 .kng-fomo-wizard {
733 max-width: 900px;
734 margin: 0 auto;
735 }
736
737 .kng-fomo-wizard-header {
738 text-align: center;
739 margin-bottom: 48px;
740 }
741
742 .kng-fomo-wizard-title {
743 font-size: 36px;
744 font-weight: 700;
745 letter-spacing: -0.02em;
746 margin: 0 0 12px;
747 }
748
749 .kng-fomo-wizard-subtitle {
750 font-size: 17px;
751 color: var(--kng-fomo-text-secondary);
752 margin: 0;
753 }
754
755 /* Wizard Steps */
756 .kng-fomo-wizard-steps {
757 display: flex;
758 justify-content: center;
759 gap: 8px;
760 margin-bottom: 48px;
761 }
762
763 .kng-fomo-wizard-step {
764 display: flex;
765 align-items: center;
766 gap: 10px;
767 padding: 12px 20px;
768 font-size: 14px;
769 font-weight: 500;
770 color: var(--kng-fomo-text-tertiary);
771 background: var(--kng-fomo-bg-secondary);
772 border-radius: 100px;
773 transition: var(--kng-fomo-transition);
774 cursor: pointer;
775 }
776
777 .kng-fomo-wizard-step:hover {
778 color: var(--kng-fomo-text-secondary);
779 }
780
781 .kng-fomo-wizard-step.is-active {
782 color: var(--kng-fomo-text);
783 background: var(--kng-fomo-card-bg);
784 box-shadow: var(--kng-fomo-shadow-sm);
785 }
786
787 .kng-fomo-wizard-step.is-completed {
788 color: var(--kng-fomo-success);
789 }
790
791 .kng-fomo-wizard-step-num {
792 width: 24px;
793 height: 24px;
794 display: flex;
795 align-items: center;
796 justify-content: center;
797 font-size: 12px;
798 font-weight: 600;
799 background: currentColor;
800 color: var(--kng-fomo-bg);
801 border-radius: 50%;
802 }
803
804 .kng-fomo-wizard-step.is-active .kng-fomo-wizard-step-num {
805 background: var(--kng-fomo-primary);
806 color: #ffffff;
807 }
808
809 .kng-fomo-wizard-step.is-completed .kng-fomo-wizard-step-num {
810 background: var(--kng-fomo-success);
811 color: #ffffff;
812 }
813
814 /* Wizard Content */
815 .kng-fomo-wizard-panel {
816 display: none;
817 }
818
819 .kng-fomo-wizard-panel.is-active {
820 display: block;
821 }
822
823 .kng-fomo-wizard-content {
824 background: var(--kng-fomo-card-bg);
825 border: 1px solid var(--kng-fomo-border);
826 border-radius: var(--kng-fomo-radius-xl);
827 padding: 48px;
828 margin-bottom: 32px;
829 }
830
831 .kng-fomo-wizard-section {
832 margin-bottom: 40px;
833 }
834
835 .kng-fomo-wizard-section:last-child {
836 margin-bottom: 0;
837 }
838
839 .kng-fomo-wizard-section-title {
840 font-size: 14px;
841 font-weight: 600;
842 color: var(--kng-fomo-text-secondary);
843 text-transform: uppercase;
844 letter-spacing: 0.5px;
845 margin: 0 0 20px;
846 }
847
848 /* Wizard Footer */
849 .kng-fomo-wizard-footer {
850 display: flex;
851 justify-content: space-between;
852 align-items: center;
853 }
854
855 /* ============================================
856 Form Controls
857 ============================================ */
858
859 .kng-fomo-field {
860 margin-bottom: 24px;
861 }
862
863 .kng-fomo-field:last-child {
864 margin-bottom: 0;
865 }
866
867 .kng-fomo-label {
868 display: block;
869 font-size: 14px;
870 font-weight: 500;
871 color: var(--kng-fomo-text);
872 margin-bottom: 8px;
873 }
874
875 .kng-fomo-label-hint {
876 font-weight: 400;
877 color: var(--kng-fomo-text-secondary);
878 margin-left: 4px;
879 }
880
881 .kng-fomo-input,
882 .kng-fomo-select,
883 .kng-fomo-textarea {
884 width: 100%;
885 padding: 14px 18px;
886 font-size: 15px;
887 font-family: var(--kng-fomo-font);
888 color: var(--kng-fomo-text);
889 background: var(--kng-fomo-bg);
890 border: 1px solid var(--kng-fomo-border);
891 border-radius: 14px;
892 outline: none;
893 transition: var(--kng-fomo-transition-fast);
894 -webkit-appearance: none;
895 }
896
897 .kng-fomo-input:hover,
898 .kng-fomo-select:hover,
899 .kng-fomo-textarea:hover {
900 border-color: var(--kng-fomo-border-hover);
901 }
902
903 .kng-fomo-input:focus,
904 .kng-fomo-select:focus,
905 .kng-fomo-textarea:focus {
906 border-color: var(--kng-fomo-primary);
907 box-shadow: 0 0 0 4px var(--kng-fomo-primary-light);
908 }
909
910 .kng-fomo-input::placeholder {
911 color: var(--kng-fomo-text-tertiary);
912 }
913
914 .kng-fomo-select {
915 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
916 background-repeat: no-repeat;
917 background-position: right 16px center;
918 padding-right: 44px;
919 }
920
921 .kng-fomo-textarea {
922 min-height: 120px;
923 resize: vertical;
924 }
925
926 .kng-fomo-input--sm {
927 padding: 10px 14px;
928 font-size: 14px;
929 border-radius: 10px;
930 }
931
932 .kng-fomo-field-help {
933 font-size: 13px;
934 color: var(--kng-fomo-text-secondary);
935 margin-top: 8px;
936 line-height: 1.5;
937 }
938
939 /* Inline Field Group */
940 .kng-fomo-field-row {
941 display: grid;
942 grid-template-columns: repeat(2, 1fr);
943 gap: 20px;
944 }
945
946 .kng-fomo-field-row--3 {
947 grid-template-columns: repeat(3, 1fr);
948 }
949
950 /* Color Picker */
951 .kng-fomo-color-field {
952 display: flex;
953 gap: 12px;
954 }
955
956 .kng-fomo-color-picker {
957 width: 48px;
958 height: 48px;
959 border: none;
960 border-radius: 12px;
961 cursor: pointer;
962 overflow: hidden;
963 padding: 0;
964 }
965
966 .kng-fomo-color-picker::-webkit-color-swatch-wrapper {
967 padding: 0;
968 }
969
970 .kng-fomo-color-picker::-webkit-color-swatch {
971 border: none;
972 border-radius: 12px;
973 }
974
975 .kng-fomo-color-input {
976 flex: 1;
977 }
978
979 /* ============================================
980 Radio Cards (Type/Source Selection)
981 ============================================ */
982
983 .kng-fomo-radio-cards {
984 display: grid;
985 grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
986 gap: 16px;
987 }
988
989 .kng-fomo-radio-card {
990 position: relative;
991 }
992
993 .kng-fomo-radio-card input {
994 position: absolute;
995 opacity: 0;
996 pointer-events: none;
997 }
998
999 .kng-fomo-radio-card-content {
1000 display: flex;
1001 flex-direction: column;
1002 align-items: center;
1003 text-align: center;
1004 padding: 24px 16px;
1005 background: var(--kng-fomo-bg);
1006 border: 2px solid var(--kng-fomo-border);
1007 border-radius: var(--kng-fomo-radius);
1008 cursor: pointer;
1009 transition: var(--kng-fomo-transition);
1010 }
1011
1012 .kng-fomo-radio-card-content:hover {
1013 border-color: var(--kng-fomo-border-hover);
1014 }
1015
1016 .kng-fomo-radio-card input:checked + .kng-fomo-radio-card-content {
1017 border-color: var(--kng-fomo-primary);
1018 background: var(--kng-fomo-primary-light);
1019 }
1020
1021 .kng-fomo-radio-card-icon {
1022 width: 48px;
1023 height: 48px;
1024 display: flex;
1025 align-items: center;
1026 justify-content: center;
1027 background: var(--kng-fomo-bg-secondary);
1028 border-radius: 14px;
1029 margin-bottom: 12px;
1030 color: var(--kng-fomo-text-secondary);
1031 transition: var(--kng-fomo-transition);
1032 }
1033
1034 .kng-fomo-radio-card input:checked + .kng-fomo-radio-card-content .kng-fomo-radio-card-icon {
1035 background: var(--kng-fomo-primary);
1036 color: #ffffff;
1037 }
1038
1039 .kng-fomo-radio-card-icon svg {
1040 width: 24px;
1041 height: 24px;
1042 }
1043
1044 .kng-fomo-radio-card-label {
1045 font-size: 14px;
1046 font-weight: 500;
1047 color: var(--kng-fomo-text);
1048 }
1049
1050 .kng-fomo-radio-card--locked .kng-fomo-radio-card-content {
1051 opacity: 0.6;
1052 }
1053
1054 .kng-fomo-radio-card--locked .kng-fomo-radio-card-badge {
1055 position: absolute;
1056 top: 8px;
1057 right: 8px;
1058 }
1059
1060 /* ============================================
1061 Template Selection (Step 2)
1062 ============================================ */
1063
1064 .kng-fomo-template-grid {
1065 display: grid;
1066 grid-template-columns: repeat(4, 1fr);
1067 gap: 16px;
1068 }
1069
1070 @media (max-width: 1200px) {
1071 .kng-fomo-template-grid {
1072 grid-template-columns: repeat(2, 1fr);
1073 }
1074 }
1075
1076 .kng-fomo-template-card {
1077 position: relative;
1078 background: var(--kng-fomo-bg);
1079 border: 2px solid var(--kng-fomo-border);
1080 border-radius: 16px;
1081 padding: 16px;
1082 cursor: pointer;
1083 transition: all 0.2s ease;
1084 text-align: center;
1085 }
1086
1087 .kng-fomo-template-card:hover {
1088 border-color: var(--kng-fomo-border-hover);
1089 transform: translateY(-2px);
1090 }
1091
1092 .kng-fomo-template-card.is-selected {
1093 border-color: var(--kng-fomo-primary);
1094 background: var(--kng-fomo-primary-light);
1095 }
1096
1097 .kng-fomo-template-preview {
1098 height: 100px;
1099 background: var(--kng-fomo-bg-secondary);
1100 border-radius: 12px;
1101 margin-bottom: 12px;
1102 display: flex;
1103 align-items: center;
1104 justify-content: center;
1105 padding: 12px;
1106 overflow: hidden;
1107 }
1108
1109 .kng-fomo-template-mock {
1110 display: flex;
1111 gap: 8px;
1112 background: #fff;
1113 border-radius: 10px;
1114 padding: 10px;
1115 box-shadow: 0 2px 8px rgba(0,0,0,0.1);
1116 width: 100%;
1117 max-width: 140px;
1118 }
1119
1120 .kng-fomo-template-mock-img {
1121 width: 32px;
1122 height: 32px;
1123 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1124 border-radius: 6px;
1125 flex-shrink: 0;
1126 }
1127
1128 .kng-fomo-template-mock-content {
1129 flex: 1;
1130 min-width: 0;
1131 }
1132
1133 .kng-fomo-template-mock-title {
1134 height: 8px;
1135 background: #1d1d1f;
1136 border-radius: 4px;
1137 width: 70%;
1138 margin-bottom: 6px;
1139 }
1140
1141 .kng-fomo-template-mock-text {
1142 height: 6px;
1143 background: #86868b;
1144 border-radius: 3px;
1145 width: 90%;
1146 margin-bottom: 6px;
1147 }
1148
1149 .kng-fomo-template-mock-time {
1150 height: 5px;
1151 background: var(--kng-fomo-primary);
1152 border-radius: 3px;
1153 width: 40%;
1154 }
1155
1156 /* Template Variations */
1157 .kng-fomo-template-preview--modern .kng-fomo-template-mock {
1158 border-radius: 16px;
1159 padding: 12px;
1160 }
1161
1162 .kng-fomo-template-preview--modern .kng-fomo-template-mock-img {
1163 border-radius: 50%;
1164 }
1165
1166 .kng-fomo-template-preview--minimal .kng-fomo-template-mock {
1167 border-radius: 4px;
1168 box-shadow: none;
1169 border: 1px solid #e5e5e5;
1170 }
1171
1172 .kng-fomo-template-preview--minimal .kng-fomo-template-mock-img {
1173 border-radius: 2px;
1174 }
1175
1176 .kng-fomo-template-preview--rounded .kng-fomo-template-mock {
1177 border-radius: 24px;
1178 padding: 14px;
1179 }
1180
1181 .kng-fomo-template-preview--rounded .kng-fomo-template-mock-img {
1182 border-radius: 50%;
1183 width: 36px;
1184 height: 36px;
1185 }
1186
1187 .kng-fomo-template-name {
1188 font-size: 14px;
1189 font-weight: 500;
1190 color: var(--kng-fomo-text);
1191 }
1192
1193 .kng-fomo-template-check {
1194 position: absolute;
1195 top: 12px;
1196 right: 12px;
1197 width: 24px;
1198 height: 24px;
1199 background: var(--kng-fomo-primary);
1200 border-radius: 50%;
1201 display: flex;
1202 align-items: center;
1203 justify-content: center;
1204 color: #fff;
1205 opacity: 0;
1206 transform: scale(0.5);
1207 transition: all 0.2s ease;
1208 }
1209
1210 .kng-fomo-template-card.is-selected .kng-fomo-template-check {
1211 opacity: 1;
1212 transform: scale(1);
1213 }
1214
1215 /* ============================================
1216 Position Selector (Step 2)
1217 ============================================ */
1218
1219 .kng-fomo-position-selector {
1220 display: flex;
1221 gap: 32px;
1222 align-items: flex-start;
1223 }
1224
1225 .kng-fomo-position-preview {
1226 width: 200px;
1227 height: 140px;
1228 background: var(--kng-fomo-bg-secondary);
1229 border: 2px solid var(--kng-fomo-border);
1230 border-radius: 12px;
1231 position: relative;
1232 flex-shrink: 0;
1233 }
1234
1235 .kng-fomo-position-preview::before {
1236 content: '';
1237 position: absolute;
1238 top: 8px;
1239 left: 50%;
1240 transform: translateX(-50%);
1241 width: 40px;
1242 height: 6px;
1243 background: var(--kng-fomo-border);
1244 border-radius: 3px;
1245 }
1246
1247 .kng-fomo-position-dot {
1248 position: absolute;
1249 width: 36px;
1250 height: 24px;
1251 background: var(--kng-fomo-border);
1252 border-radius: 6px;
1253 transition: all 0.2s ease;
1254 cursor: pointer;
1255 }
1256
1257 .kng-fomo-position-dot:hover {
1258 background: var(--kng-fomo-border-hover);
1259 }
1260
1261 .kng-fomo-position-dot.is-active {
1262 background: var(--kng-fomo-primary);
1263 box-shadow: 0 2px 8px rgba(0, 113, 227, 0.4);
1264 }
1265
1266 .kng-fomo-position-dot[data-pos="top-left"] { top: 20px; left: 8px; }
1267 .kng-fomo-position-dot[data-pos="top-center"] { top: 20px; left: 50%; transform: translateX(-50%); }
1268 .kng-fomo-position-dot[data-pos="top-right"] { top: 20px; right: 8px; }
1269 .kng-fomo-position-dot[data-pos="bottom-left"] { bottom: 8px; left: 8px; }
1270 .kng-fomo-position-dot[data-pos="bottom-center"] { bottom: 8px; left: 50%; transform: translateX(-50%); }
1271 .kng-fomo-position-dot[data-pos="bottom-right"] { bottom: 8px; right: 8px; }
1272
1273 .kng-fomo-position-buttons {
1274 display: grid;
1275 grid-template-columns: repeat(3, 1fr);
1276 gap: 8px;
1277 flex: 1;
1278 max-width: 360px;
1279 }
1280
1281 .kng-fomo-position-btn {
1282 padding: 12px 16px;
1283 background: var(--kng-fomo-bg);
1284 border: 2px solid var(--kng-fomo-border);
1285 border-radius: 10px;
1286 font-size: 13px;
1287 font-weight: 500;
1288 color: var(--kng-fomo-text);
1289 cursor: pointer;
1290 transition: all 0.2s ease;
1291 font-family: var(--kng-fomo-font);
1292 }
1293
1294 .kng-fomo-position-btn:hover {
1295 border-color: var(--kng-fomo-border-hover);
1296 background: var(--kng-fomo-bg-secondary);
1297 }
1298
1299 .kng-fomo-position-btn.is-active {
1300 border-color: var(--kng-fomo-primary);
1301 background: var(--kng-fomo-primary-light);
1302 color: var(--kng-fomo-primary);
1303 }
1304
1305 /* ============================================
1306 Chart Container
1307 ============================================ */
1308
1309 .kng-fomo-chart-wrap {
1310 background: var(--kng-fomo-card-bg);
1311 border: 1px solid var(--kng-fomo-border);
1312 border-radius: var(--kng-fomo-radius-lg);
1313 padding: 32px;
1314 }
1315
1316 .kng-fomo-chart-header {
1317 display: flex;
1318 justify-content: space-between;
1319 align-items: center;
1320 margin-bottom: 24px;
1321 }
1322
1323 .kng-fomo-chart-title {
1324 font-size: 17px;
1325 font-weight: 600;
1326 margin: 0;
1327 }
1328
1329 .kng-fomo-chart-filters {
1330 display: flex;
1331 gap: 12px;
1332 }
1333
1334 .kng-fomo-chart-canvas {
1335 height: 300px;
1336 }
1337
1338 /* ============================================
1339 Tabs
1340 ============================================ */
1341
1342 .kng-fomo-tabs {
1343 display: flex;
1344 gap: 4px;
1345 margin-bottom: 32px;
1346 padding: 4px;
1347 background: var(--kng-fomo-bg-secondary);
1348 border-radius: 12px;
1349 width: fit-content;
1350 }
1351
1352 .kng-fomo-tab {
1353 padding: 10px 20px;
1354 font-size: 14px;
1355 font-weight: 500;
1356 color: var(--kng-fomo-text-secondary);
1357 background: transparent;
1358 border: none;
1359 border-radius: 8px;
1360 cursor: pointer;
1361 transition: var(--kng-fomo-transition-fast);
1362 }
1363
1364 .kng-fomo-tab:hover {
1365 color: var(--kng-fomo-text);
1366 }
1367
1368 .kng-fomo-tab.is-active {
1369 color: var(--kng-fomo-text);
1370 background: var(--kng-fomo-card-bg);
1371 box-shadow: var(--kng-fomo-shadow-sm);
1372 }
1373
1374 .kng-fomo-tab-content {
1375 display: none;
1376 }
1377
1378 .kng-fomo-tab-content.is-active {
1379 display: block;
1380 }
1381
1382 /* ============================================
1383 Module Toggles (Settings)
1384 ============================================ */
1385
1386 .kng-fomo-modules {
1387 display: grid;
1388 grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
1389 gap: 16px;
1390 }
1391
1392 .kng-fomo-module {
1393 display: flex;
1394 align-items: center;
1395 justify-content: space-between;
1396 padding: 20px 24px;
1397 background: var(--kng-fomo-bg);
1398 border: 1px solid var(--kng-fomo-border);
1399 border-radius: var(--kng-fomo-radius);
1400 transition: var(--kng-fomo-transition-fast);
1401 }
1402
1403 .kng-fomo-module:hover {
1404 border-color: var(--kng-fomo-border-hover);
1405 }
1406
1407 .kng-fomo-module-info {
1408 display: flex;
1409 align-items: center;
1410 gap: 14px;
1411 }
1412
1413 .kng-fomo-module-icon {
1414 width: 40px;
1415 height: 40px;
1416 display: flex;
1417 align-items: center;
1418 justify-content: center;
1419 background: var(--kng-fomo-bg-secondary);
1420 border-radius: 10px;
1421 color: var(--kng-fomo-text-secondary);
1422 }
1423
1424 .kng-fomo-module-icon svg {
1425 width: 20px;
1426 height: 20px;
1427 }
1428
1429 .kng-fomo-module-name {
1430 font-size: 14px;
1431 font-weight: 500;
1432 color: var(--kng-fomo-text);
1433 display: flex;
1434 align-items: center;
1435 gap: 8px;
1436 }
1437
1438 .kng-fomo-module--locked {
1439 opacity: 0.6;
1440 }
1441
1442 /* ============================================
1443 Empty State
1444 ============================================ */
1445
1446 .kng-fomo-empty {
1447 text-align: center;
1448 padding: 80px 40px;
1449 background: var(--kng-fomo-bg-secondary);
1450 border-radius: var(--kng-fomo-radius-xl);
1451 }
1452
1453 .kng-fomo-empty-icon {
1454 width: 80px;
1455 height: 80px;
1456 display: flex;
1457 align-items: center;
1458 justify-content: center;
1459 background: var(--kng-fomo-card-bg);
1460 border-radius: 24px;
1461 margin: 0 auto 24px;
1462 color: var(--kng-fomo-text-tertiary);
1463 }
1464
1465 .kng-fomo-empty-icon svg {
1466 width: 40px;
1467 height: 40px;
1468 }
1469
1470 .kng-fomo-empty-title {
1471 font-size: 21px;
1472 font-weight: 600;
1473 margin: 0 0 12px;
1474 color: var(--kng-fomo-text);
1475 }
1476
1477 .kng-fomo-empty-desc {
1478 font-size: 15px;
1479 color: var(--kng-fomo-text-secondary);
1480 margin: 0 0 24px;
1481 max-width: 400px;
1482 margin-left: auto;
1483 margin-right: auto;
1484 }
1485
1486 /* ============================================
1487 Pro Upsell Card
1488 ============================================ */
1489
1490 .kng-fomo-upsell {
1491 background: linear-gradient(135deg, rgba(191, 90, 242, 0.08) 0%, rgba(0, 113, 227, 0.08) 100%);
1492 border: 1px solid rgba(191, 90, 242, 0.2);
1493 border-radius: var(--kng-fomo-radius-xl);
1494 padding: 40px;
1495 display: flex;
1496 align-items: center;
1497 gap: 40px;
1498 }
1499
1500 .kng-fomo-upsell-content {
1501 flex: 1;
1502 }
1503
1504 .kng-fomo-upsell-badge {
1505 display: inline-flex;
1506 align-items: center;
1507 gap: 6px;
1508 padding: 6px 12px;
1509 font-size: 11px;
1510 font-weight: 600;
1511 color: var(--kng-fomo-accent);
1512 background: var(--kng-fomo-accent-light);
1513 border-radius: 100px;
1514 margin-bottom: 16px;
1515 text-transform: uppercase;
1516 letter-spacing: 0.5px;
1517 }
1518
1519 .kng-fomo-upsell-title {
1520 font-size: 24px;
1521 font-weight: 700;
1522 margin: 0 0 12px;
1523 color: var(--kng-fomo-text);
1524 }
1525
1526 .kng-fomo-upsell-desc {
1527 font-size: 15px;
1528 color: var(--kng-fomo-text-secondary);
1529 margin: 0 0 20px;
1530 line-height: 1.6;
1531 }
1532
1533 .kng-fomo-upsell-features {
1534 display: flex;
1535 flex-wrap: wrap;
1536 gap: 12px;
1537 margin-bottom: 24px;
1538 }
1539
1540 .kng-fomo-upsell-feature {
1541 display: flex;
1542 align-items: center;
1543 gap: 8px;
1544 font-size: 14px;
1545 color: var(--kng-fomo-text);
1546 }
1547
1548 .kng-fomo-upsell-feature svg {
1549 width: 16px;
1550 height: 16px;
1551 color: var(--kng-fomo-success);
1552 }
1553
1554 /* ============================================
1555 Toast Notifications
1556 ============================================ */
1557
1558 .kng-fomo-toast {
1559 position: fixed;
1560 bottom: 32px;
1561 right: 32px;
1562 display: flex;
1563 align-items: center;
1564 gap: 12px;
1565 padding: 16px 24px;
1566 background: var(--kng-fomo-card-bg);
1567 border: 1px solid var(--kng-fomo-border);
1568 border-radius: 14px;
1569 box-shadow: var(--kng-fomo-shadow-lg);
1570 z-index: 999999;
1571 animation: kng-fomo-toast-in 0.3s ease;
1572 }
1573
1574 @keyframes kng-fomo-toast-in {
1575 from {
1576 opacity: 0;
1577 transform: translateY(20px);
1578 }
1579 to {
1580 opacity: 1;
1581 transform: translateY(0);
1582 }
1583 }
1584
1585 .kng-fomo-toast.is-hiding {
1586 animation: kng-fomo-toast-out 0.2s ease forwards;
1587 }
1588
1589 @keyframes kng-fomo-toast-out {
1590 from {
1591 opacity: 1;
1592 transform: translateY(0);
1593 }
1594 to {
1595 opacity: 0;
1596 transform: translateY(20px);
1597 }
1598 }
1599
1600 .kng-fomo-toast-icon {
1601 width: 24px;
1602 height: 24px;
1603 }
1604
1605 .kng-fomo-toast--success .kng-fomo-toast-icon {
1606 color: var(--kng-fomo-success);
1607 }
1608
1609 .kng-fomo-toast--error .kng-fomo-toast-icon {
1610 color: var(--kng-fomo-danger);
1611 }
1612
1613 .kng-fomo-toast-message {
1614 font-size: 14px;
1615 font-weight: 500;
1616 color: var(--kng-fomo-text);
1617 }
1618
1619 /* ============================================
1620 Loading Spinner
1621 ============================================ */
1622
1623 .kng-fomo-spinner {
1624 width: 20px;
1625 height: 20px;
1626 border: 2px solid var(--kng-fomo-border);
1627 border-top-color: var(--kng-fomo-primary);
1628 border-radius: 50%;
1629 animation: kng-fomo-spin 0.8s linear infinite;
1630 }
1631
1632 @keyframes kng-fomo-spin {
1633 to {
1634 transform: rotate(360deg);
1635 }
1636 }
1637
1638 /* ============================================
1639 Modal
1640 ============================================ */
1641
1642 .kng-fomo-modal-overlay {
1643 position: fixed;
1644 inset: 0;
1645 background: rgba(0, 0, 0, 0.5);
1646 backdrop-filter: blur(4px);
1647 z-index: 999998;
1648 display: flex;
1649 align-items: center;
1650 justify-content: center;
1651 opacity: 0;
1652 visibility: hidden;
1653 transition: var(--kng-fomo-transition);
1654 }
1655
1656 .kng-fomo-modal-overlay.is-visible {
1657 opacity: 1;
1658 visibility: visible;
1659 }
1660
1661 .kng-fomo-modal {
1662 background: var(--kng-fomo-card-bg);
1663 border-radius: var(--kng-fomo-radius-xl);
1664 padding: 40px;
1665 max-width: 500px;
1666 width: 90%;
1667 max-height: 90vh;
1668 overflow-y: auto;
1669 transform: scale(0.9);
1670 transition: var(--kng-fomo-transition);
1671 }
1672
1673 .kng-fomo-modal-overlay.is-visible .kng-fomo-modal {
1674 transform: scale(1);
1675 }
1676
1677 .kng-fomo-modal-header {
1678 display: flex;
1679 justify-content: space-between;
1680 align-items: flex-start;
1681 margin-bottom: 24px;
1682 }
1683
1684 .kng-fomo-modal-title {
1685 font-size: 24px;
1686 font-weight: 700;
1687 margin: 0;
1688 }
1689
1690 .kng-fomo-modal-close {
1691 width: 32px;
1692 height: 32px;
1693 display: flex;
1694 align-items: center;
1695 justify-content: center;
1696 background: var(--kng-fomo-bg-secondary);
1697 border: none;
1698 border-radius: 8px;
1699 color: var(--kng-fomo-text-secondary);
1700 cursor: pointer;
1701 transition: var(--kng-fomo-transition-fast);
1702 }
1703
1704 .kng-fomo-modal-close:hover {
1705 color: var(--kng-fomo-text);
1706 }
1707
1708 .kng-fomo-modal-close svg {
1709 width: 16px;
1710 height: 16px;
1711 }
1712
1713 .kng-fomo-modal-footer {
1714 display: flex;
1715 justify-content: flex-end;
1716 gap: 12px;
1717 margin-top: 32px;
1718 }
1719
1720 /* ============================================
1721 Responsive
1722 ============================================ */
1723
1724 @media (max-width: 1200px) {
1725 .kng-fomo-grid--4 {
1726 grid-template-columns: repeat(3, 1fr);
1727 }
1728 }
1729
1730 @media (max-width: 992px) {
1731 .kng-fomo-admin {
1732 padding: 40px 24px;
1733 }
1734
1735 .kng-fomo-hero {
1736 padding: 60px 24px;
1737 }
1738
1739 .kng-fomo-hero-title {
1740 font-size: 40px;
1741 }
1742
1743 .kng-fomo-grid--3,
1744 .kng-fomo-grid--4 {
1745 grid-template-columns: repeat(2, 1fr);
1746 }
1747
1748 .kng-fomo-upsell {
1749 flex-direction: column;
1750 text-align: center;
1751 }
1752 }
1753
1754 @media (max-width: 768px) {
1755 .kng-fomo-nav {
1756 flex-wrap: wrap;
1757 }
1758
1759 .kng-fomo-hero-title {
1760 font-size: 32px;
1761 }
1762
1763 .kng-fomo-hero-subtitle {
1764 font-size: 17px;
1765 }
1766
1767 .kng-fomo-hero-actions {
1768 flex-direction: column;
1769 }
1770
1771 .kng-fomo-grid--2,
1772 .kng-fomo-grid--3,
1773 .kng-fomo-grid--4 {
1774 grid-template-columns: 1fr;
1775 }
1776
1777 .kng-fomo-wizard-steps {
1778 flex-wrap: wrap;
1779 }
1780
1781 .kng-fomo-wizard-content {
1782 padding: 24px;
1783 }
1784
1785 .kng-fomo-field-row {
1786 grid-template-columns: 1fr;
1787 }
1788
1789 .kng-fomo-kpi-value {
1790 font-size: 32px;
1791 }
1792 }
1793