PluginProbe
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder / 51.1.44
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder v51.1.44
51.1.86 51.1.84 51.1.85 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 All 40 releases
king-addons / includes / extensions / Site_Preloader / assets / admin.css

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

1,577 lines 31.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Site Preloader Admin Styles.
3 *
4 * Apple-inspired admin UI for the Site Preloader extension.
5 * Extends the shared V3 admin styles.
6 *
7 * @package King_Addons
8 * @since 1.0.0
9 */
10
11 /* ===== PRELOADER SPECIFIC OVERRIDES ===== */
12 .ka-preloader-admin .ka-admin-header-icon.orange {
13 background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
14 }
15
16 /* ===== NOTICE STYLES ===== */
17 .ka-notice {
18 display: flex;
19 align-items: center;
20 gap: 12px;
21 padding: 16px 20px;
22 border-radius: 14px;
23 margin-bottom: 24px;
24 font-size: 15px;
25 animation: kaNoticeSlideIn 0.4s cubic-bezier(0.25, 1, 0.5, 1);
26 }
27
28 @keyframes kaNoticeSlideIn {
29 from {
30 opacity: 0;
31 transform: translateY(-10px);
32 }
33 to {
34 opacity: 1;
35 transform: translateY(0);
36 }
37 }
38
39 .ka-notice .dashicons {
40 font-size: 20px;
41 width: 20px;
42 height: 20px;
43 }
44
45 .ka-notice-success {
46 background: rgba(52, 199, 89, 0.12);
47 color: #34c759;
48 border: 1px solid rgba(52, 199, 89, 0.2);
49 }
50
51 .ka-notice-error {
52 background: rgba(255, 59, 48, 0.12);
53 color: #ff3b30;
54 border: 1px solid rgba(255, 59, 48, 0.2);
55 }
56
57 body.ka-v3-dark .ka-notice-success {
58 background: rgba(52, 199, 89, 0.2);
59 }
60
61 body.ka-v3-dark .ka-notice-error {
62 background: rgba(255, 59, 48, 0.2);
63 }
64
65 /* ===== DASHBOARD ===== */
66 .ka-preloader-dashboard__grid {
67 display: grid;
68 grid-template-columns: 1fr 1fr;
69 gap: 24px;
70 margin-bottom: 24px;
71 }
72
73 @media (max-width: 1100px) {
74 .ka-preloader-dashboard__grid {
75 grid-template-columns: 1fr;
76 }
77 }
78
79 /* Quick Enable Card */
80 .ka-preloader-quick-enable .ka-card-body {
81 padding: 32px;
82 }
83
84 .ka-preloader-quick-enable__content {
85 display: flex;
86 align-items: center;
87 gap: 24px;
88 }
89
90 .ka-preloader-quick-enable__icon {
91 width: 64px;
92 height: 64px;
93 border-radius: 16px;
94 background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
95 display: flex;
96 align-items: center;
97 justify-content: center;
98 flex-shrink: 0;
99 }
100
101 .ka-preloader-quick-enable__icon .dashicons {
102 font-size: 32px;
103 width: 32px;
104 height: 32px;
105 color: #fff;
106 }
107
108 .ka-preloader-quick-enable__text h3 {
109 margin: 0 0 6px;
110 font-size: 20px;
111 font-weight: 600;
112 color: #1d1d1f;
113 }
114
115 body.ka-v3-dark .ka-preloader-quick-enable__text h3 {
116 color: #f5f5f7;
117 }
118
119 .ka-preloader-quick-enable__text p {
120 margin: 0;
121 color: #86868b;
122 font-size: 15px;
123 }
124
125 .ka-preloader-quick-enable__form {
126 margin-left: auto;
127 }
128
129 /* Preview Card */
130 .ka-preloader-preview-card {
131 display: flex;
132 flex-direction: column;
133 }
134
135 .ka-preloader-preview-area {
136 flex: 1;
137 min-height: 240px;
138 display: flex;
139 align-items: center;
140 justify-content: center;
141 background: linear-gradient(135deg, #f5f5f7 0%, #e8e8ed 100%);
142 position: relative;
143 overflow: hidden;
144 }
145
146 body.ka-v3-dark .ka-preloader-preview-area {
147 background: linear-gradient(135deg, #2c2c2e 0%, #1c1c1e 100%);
148 }
149
150 .ka-preloader-preview-area::before {
151 content: '';
152 position: absolute;
153 inset: 0;
154 background-image:
155 radial-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px);
156 background-size: 24px 24px;
157 pointer-events: none;
158 }
159
160 body.ka-v3-dark .ka-preloader-preview-area::before {
161 background-image:
162 radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
163 }
164
165 .ka-preloader-preview-wrapper {
166 position: relative;
167 z-index: 1;
168 display: flex;
169 flex-direction: column;
170 align-items: center;
171 gap: 16px;
172 --kng-preloader-accent: #0071e3;
173 --kng-preloader-size: 48px;
174 }
175
176 .ka-preloader-preview-card .ka-card-footer {
177 display: flex;
178 justify-content: flex-end;
179 gap: 12px;
180 padding: 16px 20px;
181 border-top: 1px solid rgba(0, 0, 0, 0.06);
182 }
183
184 body.ka-v3-dark .ka-preloader-preview-card .ka-card-footer {
185 border-top-color: rgba(255, 255, 255, 0.08);
186 }
187
188 /* Action Cards */
189 .ka-preloader-actions {
190 display: grid;
191 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
192 gap: 16px;
193 }
194
195 .ka-preloader-action-card {
196 display: flex;
197 flex-direction: column;
198 padding: 24px;
199 border-radius: 16px;
200 background: rgba(0, 0, 0, 0.02);
201 border: 1px solid rgba(0, 0, 0, 0.06);
202 text-decoration: none;
203 transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
204 }
205
206 body.ka-v3-dark .ka-preloader-action-card {
207 background: rgba(255, 255, 255, 0.04);
208 border-color: rgba(255, 255, 255, 0.08);
209 }
210
211 .ka-preloader-action-card:hover {
212 background: rgba(0, 0, 0, 0.04);
213 border-color: #f97316;
214 transform: translateY(-2px);
215 box-shadow: 0 4px 20px rgba(249, 115, 22, 0.15);
216 }
217
218 body.ka-v3-dark .ka-preloader-action-card:hover {
219 background: rgba(255, 255, 255, 0.08);
220 }
221
222 .ka-preloader-action-card .dashicons {
223 font-size: 28px;
224 width: 28px;
225 height: 28px;
226 color: #f97316;
227 margin-bottom: 12px;
228 }
229
230 .ka-preloader-action-card__title {
231 font-size: 16px;
232 font-weight: 600;
233 color: #1d1d1f;
234 margin-bottom: 4px;
235 }
236
237 body.ka-v3-dark .ka-preloader-action-card__title {
238 color: #f5f5f7;
239 }
240
241 .ka-preloader-action-card__desc {
242 font-size: 13px;
243 color: #86868b;
244 }
245
246 /* Stats override for smaller values */
247 .ka-preloader-stats .ka-stat-value--small {
248 font-size: 18px;
249 }
250
251 /* ===== SETTINGS PAGE ===== */
252 .ka-preloader-settings-grid {
253 display: grid;
254 grid-template-columns: 1fr 340px;
255 gap: 24px;
256 }
257
258 @media (max-width: 1100px) {
259 .ka-preloader-settings-grid {
260 grid-template-columns: 1fr;
261 }
262
263 .ka-preloader-settings-sidebar {
264 order: -1;
265 }
266 }
267
268 .ka-preloader-settings-main {
269 min-width: 0;
270 }
271
272 .ka-preloader-settings-sidebar {
273 position: relative;
274 }
275
276 .ka-preloader-live-preview {
277 position: sticky;
278 top: 50px;
279 }
280
281 .ka-preloader-preview-frame {
282 height: 280px;
283 display: flex;
284 align-items: center;
285 justify-content: center;
286 background: linear-gradient(135deg, #f5f5f7 0%, #e8e8ed 100%);
287 position: relative;
288 overflow: hidden;
289 }
290
291 body.ka-v3-dark .ka-preloader-preview-frame {
292 background: linear-gradient(135deg, #2c2c2e 0%, #1c1c1e 100%);
293 }
294
295 .ka-preloader-preview-frame::before {
296 content: '';
297 position: absolute;
298 inset: 0;
299 background-image: radial-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px);
300 background-size: 20px 20px;
301 pointer-events: none;
302 }
303
304 body.ka-v3-dark .ka-preloader-preview-frame::before {
305 background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
306 }
307
308 #ka-live-preview-wrapper {
309 position: relative;
310 z-index: 1;
311 display: flex;
312 flex-direction: column;
313 align-items: center;
314 gap: 16px;
315 }
316
317 /* Settings subheading */
318 .ka-settings-subheading {
319 font-size: 14px;
320 font-weight: 600;
321 text-transform: uppercase;
322 letter-spacing: 0.05em;
323 color: #86868b;
324 margin: 24px 0 8px;
325 padding-top: 16px;
326 border-top: 1px solid rgba(0, 0, 0, 0.06);
327 }
328
329 body.ka-v3-dark .ka-settings-subheading {
330 border-top-color: rgba(255, 255, 255, 0.08);
331 }
332
333 .ka-settings-subheading:first-child {
334 margin-top: 0;
335 padding-top: 0;
336 border-top: none;
337 }
338
339 /* Checkbox group */
340 .ka-checkbox-group {
341 display: flex;
342 flex-wrap: wrap;
343 gap: 16px;
344 }
345
346 .ka-checkbox-item {
347 display: flex;
348 align-items: center;
349 gap: 8px;
350 font-size: 15px;
351 color: #1d1d1f;
352 cursor: pointer;
353 }
354
355 body.ka-v3-dark .ka-checkbox-item {
356 color: #f5f5f7;
357 }
358
359 .ka-checkbox-item input[type="checkbox"],
360 .ka-checkbox-item input[type="radio"] {
361 width: 18px;
362 height: 18px;
363 accent-color: #f97316;
364 }
365
366 .ka-checkbox-item .dashicons {
367 font-size: 18px;
368 width: 18px;
369 height: 18px;
370 color: #86868b;
371 }
372
373 /* Range slider */
374 .ka-range-wrap {
375 display: flex;
376 align-items: center;
377 gap: 16px;
378 }
379
380 .ka-range-wrap input[type="range"] {
381 width: 200px;
382 height: 6px;
383 -webkit-appearance: none;
384 appearance: none;
385 background: rgba(0, 0, 0, 0.1);
386 border-radius: 3px;
387 outline: none;
388 }
389
390 body.ka-v3-dark .ka-range-wrap input[type="range"] {
391 background: rgba(255, 255, 255, 0.1);
392 }
393
394 .ka-range-wrap input[type="range"]::-webkit-slider-thumb {
395 -webkit-appearance: none;
396 width: 18px;
397 height: 18px;
398 background: #f97316;
399 border-radius: 50%;
400 cursor: pointer;
401 transition: transform 0.2s;
402 }
403
404 .ka-range-wrap input[type="range"]::-webkit-slider-thumb:hover {
405 transform: scale(1.1);
406 }
407
408 .ka-range-value {
409 min-width: 40px;
410 font-size: 15px;
411 font-weight: 500;
412 color: #1d1d1f;
413 }
414
415 body.ka-v3-dark .ka-range-value {
416 color: #f5f5f7;
417 }
418
419 /* Unit label */
420 .ka-unit {
421 color: #86868b;
422 font-size: 14px;
423 margin-left: 6px;
424 }
425
426 /* Image upload */
427 .ka-image-upload {
428 display: flex;
429 align-items: center;
430 gap: 12px;
431 flex-wrap: wrap;
432 }
433
434 .ka-image-preview {
435 width: 80px;
436 height: 80px;
437 border-radius: 12px;
438 background: rgba(0, 0, 0, 0.04);
439 border: 2px dashed rgba(0, 0, 0, 0.1);
440 display: flex;
441 align-items: center;
442 justify-content: center;
443 overflow: hidden;
444 }
445
446 body.ka-v3-dark .ka-image-preview {
447 background: rgba(255, 255, 255, 0.04);
448 border-color: rgba(255, 255, 255, 0.1);
449 }
450
451 .ka-image-preview img {
452 max-width: 100%;
453 max-height: 100%;
454 object-fit: contain;
455 }
456
457 /* Multiselect */
458 .ka-multiselect {
459 min-height: 120px;
460 }
461
462 /* Submit footer */
463 .ka-preloader-submit {
464 margin-top: 24px;
465 padding: 24px;
466 background: rgba(249, 115, 22, 0.04);
467 border: 1px solid rgba(249, 115, 22, 0.1);
468 border-radius: 20px;
469 display: flex;
470 justify-content: flex-end;
471 }
472
473 body.ka-v3-dark .ka-preloader-submit {
474 background: rgba(249, 115, 22, 0.08);
475 border-color: rgba(249, 115, 22, 0.2);
476 }
477
478 .ka-preloader-submit .ka-btn-primary {
479 background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
480 }
481
482 .ka-preloader-submit .ka-btn-primary:hover {
483 transform: scale(1.02);
484 box-shadow: 0 4px 20px rgba(249, 115, 22, 0.4);
485 }
486
487 /* ===== TEMPLATES PAGE ===== */
488 .ka-preloader-templates-intro {
489 color: #86868b;
490 margin-bottom: 24px;
491 }
492
493 .ka-preloader-templates-grid {
494 display: grid;
495 grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
496 gap: 20px;
497 }
498
499 .ka-preloader-template-card {
500 background: rgba(0, 0, 0, 0.02);
501 border: 2px solid transparent;
502 border-radius: 16px;
503 overflow: hidden;
504 cursor: pointer;
505 transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
506 position: relative;
507 }
508
509 body.ka-v3-dark .ka-preloader-template-card {
510 background: rgba(255, 255, 255, 0.04);
511 }
512
513 .ka-preloader-template-card:hover {
514 border-color: rgba(249, 115, 22, 0.3);
515 transform: translateY(-4px);
516 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
517 }
518
519 body.ka-v3-dark .ka-preloader-template-card:hover {
520 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
521 }
522
523 .ka-preloader-template-card.active {
524 border-color: #f97316;
525 background: rgba(249, 115, 22, 0.04);
526 }
527
528 body.ka-v3-dark .ka-preloader-template-card.active {
529 background: rgba(249, 115, 22, 0.1);
530 }
531
532 .ka-preloader-template-card.pro-only {
533 opacity: 0.7;
534 }
535
536 .ka-preloader-template-card.pro-only:hover {
537 border-color: rgba(139, 92, 246, 0.3);
538 }
539
540 .ka-preloader-template-card__preview {
541 height: 140px;
542 display: flex;
543 align-items: center;
544 justify-content: center;
545 background: linear-gradient(135deg, #f5f5f7 0%, #e8e8ed 100%);
546 position: relative;
547 }
548
549 body.ka-v3-dark .ka-preloader-template-card__preview {
550 background: linear-gradient(135deg, #2c2c2e 0%, #1c1c1e 100%);
551 }
552
553 .ka-preloader-template-card__animation {
554 transform: scale(0.75);
555 }
556
557 .ka-preloader-template-card__info {
558 padding: 16px;
559 }
560
561 .ka-preloader-template-card__title {
562 margin: 0 0 4px;
563 font-size: 15px;
564 font-weight: 600;
565 color: #1d1d1f;
566 display: flex;
567 align-items: center;
568 gap: 8px;
569 }
570
571 body.ka-v3-dark .ka-preloader-template-card__title {
572 color: #f5f5f7;
573 }
574
575 .ka-preloader-template-card__desc {
576 margin: 0;
577 font-size: 13px;
578 color: #86868b;
579 }
580
581 .ka-preloader-template-card__check {
582 position: absolute;
583 top: 12px;
584 right: 12px;
585 width: 28px;
586 height: 28px;
587 border-radius: 50%;
588 background: #f97316;
589 display: flex;
590 align-items: center;
591 justify-content: center;
592 }
593
594 .ka-preloader-template-card__check .dashicons {
595 font-size: 18px;
596 width: 18px;
597 height: 18px;
598 color: #fff;
599 }
600
601 /* ===== RULES PAGE ===== */
602 .ka-preloader-rules-intro {
603 color: #86868b;
604 margin-bottom: 24px;
605 }
606
607 .ka-card-header-actions {
608 margin-left: auto;
609 }
610
611 .ka-preloader-rules-list {
612 display: flex;
613 flex-direction: column;
614 gap: 12px;
615 }
616
617 .ka-preloader-rule-item {
618 background: rgba(0, 0, 0, 0.02);
619 border: 1px solid rgba(0, 0, 0, 0.06);
620 border-radius: 14px;
621 overflow: hidden;
622 transition: all 0.3s ease;
623 }
624
625 body.ka-v3-dark .ka-preloader-rule-item {
626 background: rgba(255, 255, 255, 0.04);
627 border-color: rgba(255, 255, 255, 0.08);
628 }
629
630 .ka-preloader-rule-item__header {
631 display: flex;
632 align-items: center;
633 gap: 12px;
634 padding: 16px 20px;
635 }
636
637 .ka-preloader-rule-item__drag {
638 cursor: grab;
639 color: #86868b;
640 }
641
642 .ka-preloader-rule-item__info {
643 flex: 1;
644 display: flex;
645 align-items: center;
646 gap: 12px;
647 }
648
649 .ka-preloader-rule-item__type {
650 font-weight: 600;
651 color: #1d1d1f;
652 }
653
654 body.ka-v3-dark .ka-preloader-rule-item__type {
655 color: #f5f5f7;
656 }
657
658 .ka-preloader-rule-item__value {
659 color: #86868b;
660 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
661 font-size: 13px;
662 padding: 4px 10px;
663 background: rgba(0, 0, 0, 0.04);
664 border-radius: 6px;
665 }
666
667 body.ka-v3-dark .ka-preloader-rule-item__value {
668 background: rgba(255, 255, 255, 0.08);
669 }
670
671 .ka-preloader-rule-item__actions {
672 display: flex;
673 gap: 8px;
674 }
675
676 .ka-preloader-rule-item__details {
677 padding: 0 20px 20px;
678 border-top: 1px solid rgba(0, 0, 0, 0.06);
679 }
680
681 body.ka-v3-dark .ka-preloader-rule-item__details {
682 border-top-color: rgba(255, 255, 255, 0.08);
683 }
684
685 .ka-preloader-rule-form {
686 padding-top: 16px;
687 }
688
689 .ka-preloader-rule-form__actions {
690 display: flex;
691 justify-content: flex-end;
692 gap: 12px;
693 margin-top: 16px;
694 padding-top: 16px;
695 border-top: 1px solid rgba(0, 0, 0, 0.06);
696 }
697
698 body.ka-v3-dark .ka-preloader-rule-form__actions {
699 border-top-color: rgba(255, 255, 255, 0.08);
700 }
701
702 /* New rule item from JS */
703 .ka-preloader-rule-header {
704 display: flex;
705 align-items: center;
706 justify-content: space-between;
707 gap: 12px;
708 padding: 16px 20px;
709 cursor: pointer;
710 }
711
712 .ka-preloader-rule-title {
713 font-weight: 600;
714 color: #1d1d1f;
715 }
716
717 body.ka-v3-dark .ka-preloader-rule-title {
718 color: #f5f5f7;
719 }
720
721 .ka-preloader-rule-actions {
722 display: flex;
723 gap: 8px;
724 }
725
726 .ka-preloader-rule-remove {
727 background: transparent;
728 border: none;
729 cursor: pointer;
730 padding: 6px;
731 color: #86868b;
732 border-radius: 6px;
733 transition: all 0.2s ease;
734 }
735
736 .ka-preloader-rule-remove:hover {
737 background: rgba(255, 59, 48, 0.1);
738 color: #ff3b30;
739 }
740
741 .ka-preloader-rule-content {
742 display: none;
743 padding: 0 20px 20px;
744 border-top: 1px solid rgba(0, 0, 0, 0.06);
745 }
746
747 body.ka-v3-dark .ka-preloader-rule-content {
748 border-top-color: rgba(255, 255, 255, 0.08);
749 }
750
751 .ka-preloader-rule-item.expanded .ka-preloader-rule-content {
752 display: block;
753 }
754
755 .ka-preloader-rule-field {
756 margin-bottom: 16px;
757 }
758
759 .ka-preloader-rule-field:last-child {
760 margin-bottom: 0;
761 }
762
763 .ka-preloader-rule-field label {
764 display: block;
765 font-weight: 500;
766 color: #1d1d1f;
767 margin-bottom: 8px;
768 }
769
770 body.ka-v3-dark .ka-preloader-rule-field label {
771 color: #f5f5f7;
772 }
773
774 .ka-preloader-rule-field input[type="text"],
775 .ka-preloader-rule-field select {
776 width: 100%;
777 padding: 10px 14px;
778 background: #f5f5f7;
779 border: 1px solid rgba(0, 0, 0, 0.06);
780 border-radius: 10px;
781 font-size: 14px;
782 color: #1d1d1f;
783 transition: all 0.2s ease;
784 }
785
786 body.ka-v3-dark .ka-preloader-rule-field input[type="text"],
787 body.ka-v3-dark .ka-preloader-rule-field select {
788 background: rgba(255, 255, 255, 0.08);
789 border-color: rgba(255, 255, 255, 0.12);
790 color: #f5f5f7;
791 }
792
793 .ka-preloader-rule-field input[type="text"]:focus,
794 .ka-preloader-rule-field select:focus {
795 outline: none;
796 border-color: #0071e3;
797 box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.1);
798 }
799
800 .ka-preloader-rule-field input[type="checkbox"] {
801 margin-right: 8px;
802 }
803
804 /* Toggle small variant */
805 .ka-toggle-sm .ka-toggle-slider {
806 width: 40px;
807 height: 24px;
808 border-radius: 12px;
809 }
810
811 .ka-toggle-sm .ka-toggle-slider::after {
812 width: 20px;
813 height: 20px;
814 top: 2px;
815 left: 2px;
816 }
817
818 .ka-toggle-sm input:checked + .ka-toggle-slider::after {
819 transform: translateX(16px);
820 }
821
822 /* ===== IMPORT/EXPORT ===== */
823 .ka-preloader-import-export-grid {
824 display: grid;
825 grid-template-columns: 1fr 1fr;
826 gap: 24px;
827 margin-bottom: 24px;
828 }
829
830 @media (max-width: 900px) {
831 .ka-preloader-import-export-grid {
832 grid-template-columns: 1fr;
833 }
834 }
835
836 /* File upload */
837 .ka-file-upload {
838 display: flex;
839 align-items: center;
840 gap: 12px;
841 flex-wrap: wrap;
842 }
843
844 .ka-file-upload input[type="file"] {
845 position: absolute;
846 width: 1px;
847 height: 1px;
848 padding: 0;
849 margin: -1px;
850 overflow: hidden;
851 clip: rect(0, 0, 0, 0);
852 white-space: nowrap;
853 border: 0;
854 }
855
856 .ka-file-upload__label {
857 display: inline-flex;
858 align-items: center;
859 gap: 8px;
860 padding: 12px 20px;
861 background: rgba(0, 0, 0, 0.04);
862 border: 2px dashed rgba(0, 0, 0, 0.1);
863 border-radius: 12px;
864 cursor: pointer;
865 transition: all 0.3s ease;
866 }
867
868 body.ka-v3-dark .ka-file-upload__label {
869 background: rgba(255, 255, 255, 0.04);
870 border-color: rgba(255, 255, 255, 0.1);
871 }
872
873 .ka-file-upload__label:hover {
874 border-color: #f97316;
875 background: rgba(249, 115, 22, 0.04);
876 }
877
878 .ka-file-upload__label .dashicons {
879 color: #86868b;
880 }
881
882 .ka-file-upload__text {
883 color: #86868b;
884 }
885
886 .ka-file-upload__filename {
887 font-size: 14px;
888 color: #1d1d1f;
889 font-weight: 500;
890 }
891
892 body.ka-v3-dark .ka-file-upload__filename {
893 color: #f5f5f7;
894 }
895
896 /* Danger button */
897 .ka-btn-danger {
898 background: linear-gradient(135deg, #ff3b30 0%, #dc2626 100%);
899 color: #fff;
900 }
901
902 .ka-btn-danger:hover {
903 transform: scale(1.02);
904 box-shadow: 0 4px 20px rgba(255, 59, 48, 0.4);
905 color: #fff;
906 }
907
908 /* Info box */
909 .ka-info-box {
910 background: rgba(0, 113, 227, 0.06);
911 border: 1px solid rgba(0, 113, 227, 0.1);
912 border-radius: 12px;
913 padding: 16px 20px;
914 }
915
916 body.ka-v3-dark .ka-info-box {
917 background: rgba(10, 132, 255, 0.1);
918 border-color: rgba(10, 132, 255, 0.2);
919 }
920
921 .ka-info-box .dashicons {
922 color: #0071e3;
923 float: left;
924 margin-right: 12px;
925 margin-top: 2px;
926 }
927
928 body.ka-v3-dark .ka-info-box .dashicons {
929 color: #0a84ff;
930 }
931
932 .ka-info-box p {
933 margin: 0 0 12px;
934 color: #1d1d1f;
935 }
936
937 body.ka-v3-dark .ka-info-box p {
938 color: #f5f5f7;
939 }
940
941 .ka-info-box ul {
942 margin: 0;
943 padding-left: 32px;
944 color: #86868b;
945 }
946
947 .ka-info-box ul li {
948 margin-bottom: 4px;
949 }
950
951 .ka-info-box pre {
952 background: rgba(0, 0, 0, 0.04);
953 border-radius: 8px;
954 padding: 12px 16px;
955 overflow-x: auto;
956 margin: 12px 0 0;
957 font-size: 13px;
958 }
959
960 body.ka-v3-dark .ka-info-box pre {
961 background: rgba(255, 255, 255, 0.06);
962 }
963
964 .ka-info-box code {
965 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
966 color: #1d1d1f;
967 }
968
969 body.ka-v3-dark .ka-info-box code {
970 color: #f5f5f7;
971 }
972
973 /* Code textarea */
974 .ka-code-textarea {
975 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
976 font-size: 13px !important;
977 line-height: 1.6 !important;
978 padding: 16px !important;
979 background: rgba(0, 0, 0, 0.02) !important;
980 border: 1px solid rgba(0, 0, 0, 0.1) !important;
981 border-radius: 12px !important;
982 resize: vertical;
983 width: 100%;
984 max-width: 100% !important;
985 }
986
987 body.ka-v3-dark .ka-code-textarea {
988 background: rgba(255, 255, 255, 0.04) !important;
989 border-color: rgba(255, 255, 255, 0.1) !important;
990 color: #f5f5f7;
991 }
992
993 /* ===== PREVIEW MODAL ===== */
994 .ka-preloader-preview-modal {
995 position: fixed;
996 inset: 0;
997 z-index: 999999;
998 display: flex;
999 align-items: center;
1000 justify-content: center;
1001 }
1002
1003 .ka-preloader-preview-modal__backdrop {
1004 position: absolute;
1005 inset: 0;
1006 background: rgba(0, 0, 0, 0.8);
1007 backdrop-filter: blur(10px);
1008 -webkit-backdrop-filter: blur(10px);
1009 }
1010
1011 .ka-preloader-preview-modal__content {
1012 position: relative;
1013 width: 90%;
1014 max-width: 800px;
1015 }
1016
1017 .ka-preloader-preview-modal__close {
1018 position: absolute;
1019 top: -48px;
1020 right: 0;
1021 width: 40px;
1022 height: 40px;
1023 border-radius: 50%;
1024 background: rgba(255, 255, 255, 0.1);
1025 border: none;
1026 cursor: pointer;
1027 display: flex;
1028 align-items: center;
1029 justify-content: center;
1030 transition: all 0.3s ease;
1031 }
1032
1033 .ka-preloader-preview-modal__close:hover {
1034 background: rgba(255, 255, 255, 0.2);
1035 }
1036
1037 .ka-preloader-preview-modal__close .dashicons {
1038 color: #fff;
1039 font-size: 24px;
1040 width: 24px;
1041 height: 24px;
1042 }
1043
1044 .ka-preloader-preview-modal__frame {
1045 aspect-ratio: 16 / 9;
1046 background: #fff;
1047 border-radius: 20px;
1048 overflow: hidden;
1049 display: flex;
1050 align-items: center;
1051 justify-content: center;
1052 position: relative;
1053 }
1054
1055 #ka-preloader-preview-container {
1056 position: absolute;
1057 inset: 0;
1058 display: flex;
1059 align-items: center;
1060 justify-content: center;
1061 }
1062
1063 .ka-preloader-preview-modal__info {
1064 display: flex;
1065 justify-content: space-between;
1066 padding: 16px 0;
1067 color: rgba(255, 255, 255, 0.6);
1068 font-size: 14px;
1069 }
1070
1071 .ka-preloader-preview-modal__label {
1072 font-weight: 500;
1073 color: #fff;
1074 }
1075
1076 /* ===== NEW RULES UI STYLES ===== */
1077
1078 /* Button Group */
1079 .ka-btn-group {
1080 display: flex;
1081 gap: 4px;
1082 flex-wrap: wrap;
1083 }
1084
1085 .ka-rule-action-btns {
1086 display: flex;
1087 gap: 8px;
1088 }
1089
1090 .ka-rule-action-btns .ka-btn {
1091 flex: 1;
1092 padding: 10px 16px;
1093 border: 2px solid rgba(0, 0, 0, 0.08);
1094 border-radius: 10px;
1095 background: rgba(0, 0, 0, 0.02);
1096 font-weight: 600;
1097 font-size: 13px;
1098 cursor: pointer;
1099 transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1);
1100 display: flex;
1101 align-items: center;
1102 justify-content: center;
1103 gap: 6px;
1104 color: #86868b;
1105 }
1106
1107 body.ka-v3-dark .ka-rule-action-btns .ka-btn {
1108 background: rgba(255, 255, 255, 0.04);
1109 border-color: rgba(255, 255, 255, 0.1);
1110 color: #a1a1a6;
1111 }
1112
1113 .ka-rule-action-btns .ka-btn:hover {
1114 border-color: rgba(0, 0, 0, 0.15);
1115 background: rgba(0, 0, 0, 0.04);
1116 }
1117
1118 .ka-rule-action-btns .ka-btn.active {
1119 border-color: #0071e3;
1120 background: rgba(0, 113, 227, 0.08);
1121 color: #0071e3;
1122 }
1123
1124 .ka-rule-action-btns .ka-btn[data-action="show"].active {
1125 border-color: #34c759;
1126 background: rgba(52, 199, 89, 0.1);
1127 color: #34c759;
1128 }
1129
1130 .ka-rule-action-btns .ka-btn[data-action="hide"].active {
1131 border-color: #ff9500;
1132 background: rgba(255, 149, 0, 0.1);
1133 color: #ff9500;
1134 }
1135
1136 .ka-rule-action-btns .ka-btn[data-action="override"].active {
1137 border-color: #5856d6;
1138 background: rgba(88, 86, 214, 0.1);
1139 color: #5856d6;
1140 }
1141
1142 .ka-rule-action-btns .ka-btn .dashicons {
1143 font-size: 16px;
1144 width: 16px;
1145 height: 16px;
1146 }
1147
1148 /* Rule Summary in Header */
1149 .ka-preloader-rule-item__summary {
1150 flex: 1;
1151 display: flex;
1152 align-items: center;
1153 gap: 8px;
1154 flex-wrap: wrap;
1155 }
1156
1157 .ka-rule-action {
1158 display: inline-flex;
1159 align-items: center;
1160 gap: 4px;
1161 padding: 4px 10px;
1162 border-radius: 6px;
1163 font-size: 12px;
1164 font-weight: 600;
1165 text-transform: uppercase;
1166 letter-spacing: 0.3px;
1167 }
1168
1169 .ka-rule-action .dashicons {
1170 font-size: 14px;
1171 width: 14px;
1172 height: 14px;
1173 }
1174
1175 .ka-rule-action--show {
1176 background: rgba(52, 199, 89, 0.15);
1177 color: #34c759;
1178 }
1179
1180 .ka-rule-action--hide {
1181 background: rgba(255, 149, 0, 0.15);
1182 color: #ff9500;
1183 }
1184
1185 .ka-rule-action--override {
1186 background: rgba(88, 86, 214, 0.15);
1187 color: #5856d6;
1188 }
1189
1190 .ka-rule-on {
1191 color: #86868b;
1192 font-size: 13px;
1193 }
1194
1195 .ka-rule-condition,
1196 .ka-preloader-rule-item__summary .ka-rule-condition {
1197 font-weight: 600;
1198 color: #1d1d1f;
1199 font-size: 14px;
1200 }
1201
1202 body.ka-v3-dark .ka-rule-condition,
1203 body.ka-v3-dark .ka-preloader-rule-item__summary .ka-rule-condition {
1204 color: #f5f5f7;
1205 }
1206
1207 .ka-rule-value {
1208 color: #86868b;
1209 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1210 font-size: 12px;
1211 padding: 3px 8px;
1212 background: rgba(0, 0, 0, 0.04);
1213 border-radius: 4px;
1214 max-width: 200px;
1215 overflow: hidden;
1216 text-overflow: ellipsis;
1217 white-space: nowrap;
1218 }
1219
1220 body.ka-v3-dark .ka-rule-value {
1221 background: rgba(255, 255, 255, 0.08);
1222 }
1223
1224 .ka-rule-template-badge {
1225 color: #5856d6;
1226 font-size: 12px;
1227 font-weight: 500;
1228 }
1229
1230 /* Rule Disabled State */
1231 .ka-rule-disabled {
1232 opacity: 0.6;
1233 }
1234
1235 .ka-rule-disabled .ka-preloader-rule-item__summary {
1236 opacity: 0.7;
1237 }
1238
1239 /* Action Button Group */
1240 .ka-rule-action-group {
1241 display: flex;
1242 gap: 8px;
1243 }
1244
1245 .ka-rule-action-btn {
1246 flex: 1;
1247 padding: 12px 16px;
1248 border: 2px solid rgba(0, 0, 0, 0.08);
1249 border-radius: 12px;
1250 background: rgba(0, 0, 0, 0.02);
1251 font-weight: 600;
1252 font-size: 14px;
1253 cursor: pointer;
1254 transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1);
1255 display: flex;
1256 align-items: center;
1257 justify-content: center;
1258 gap: 8px;
1259 color: #86868b;
1260 }
1261
1262 body.ka-v3-dark .ka-rule-action-btn {
1263 background: rgba(255, 255, 255, 0.04);
1264 border-color: rgba(255, 255, 255, 0.1);
1265 color: #a1a1a6;
1266 }
1267
1268 .ka-rule-action-btn:hover {
1269 border-color: rgba(0, 0, 0, 0.15);
1270 background: rgba(0, 0, 0, 0.04);
1271 }
1272
1273 body.ka-v3-dark .ka-rule-action-btn:hover {
1274 border-color: rgba(255, 255, 255, 0.2);
1275 background: rgba(255, 255, 255, 0.08);
1276 }
1277
1278 .ka-rule-action-btn.active {
1279 border-color: #0071e3;
1280 background: rgba(0, 113, 227, 0.08);
1281 color: #0071e3;
1282 }
1283
1284 body.ka-v3-dark .ka-rule-action-btn.active {
1285 border-color: #0a84ff;
1286 background: rgba(10, 132, 255, 0.15);
1287 color: #0a84ff;
1288 }
1289
1290 /* Action type specific colors */
1291 .ka-rule-action-btn[data-action="show"].active {
1292 border-color: #34c759;
1293 background: rgba(52, 199, 89, 0.1);
1294 color: #34c759;
1295 }
1296
1297 .ka-rule-action-btn[data-action="hide"].active {
1298 border-color: #ff9500;
1299 background: rgba(255, 149, 0, 0.1);
1300 color: #ff9500;
1301 }
1302
1303 .ka-rule-action-btn[data-action="override"].active {
1304 border-color: #5856d6;
1305 background: rgba(88, 86, 214, 0.1);
1306 color: #5856d6;
1307 }
1308
1309 /* Form Row */
1310 .ka-rule-form-row {
1311 margin-bottom: 20px;
1312 }
1313
1314 .ka-rule-form-row:last-child {
1315 margin-bottom: 0;
1316 }
1317
1318 .ka-rule-form-label {
1319 display: block;
1320 font-weight: 600;
1321 font-size: 12px;
1322 color: #1d1d1f;
1323 margin-bottom: 10px;
1324 text-transform: uppercase;
1325 letter-spacing: 0.5px;
1326 }
1327
1328 body.ka-v3-dark .ka-rule-form-label {
1329 color: #f5f5f7;
1330 }
1331
1332 .ka-rule-form-field {
1333 width: 100%;
1334 }
1335
1336 .ka-rule-form-field select,
1337 .ka-rule-form-field input[type="text"] {
1338 width: 100%;
1339 padding: 10px 14px;
1340 background: #f5f5f7;
1341 border: 1px solid rgba(0, 0, 0, 0.06);
1342 border-radius: 10px;
1343 font-size: 14px;
1344 color: #1d1d1f;
1345 transition: all 0.2s ease;
1346 }
1347
1348 body.ka-v3-dark .ka-rule-form-field select,
1349 body.ka-v3-dark .ka-rule-form-field input[type="text"] {
1350 background: rgba(255, 255, 255, 0.06);
1351 border-color: rgba(255, 255, 255, 0.1);
1352 color: #f5f5f7;
1353 }
1354
1355 .ka-rule-form-field select:focus,
1356 .ka-rule-form-field input[type="text"]:focus {
1357 outline: none;
1358 border-color: #0071e3;
1359 box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.1);
1360 }
1361
1362 .ka-rule-form-hint {
1363 font-size: 12px;
1364 color: #86868b;
1365 font-weight: 400;
1366 margin-top: 6px;
1367 }
1368
1369 .ka-rule-form-actions {
1370 display: flex;
1371 justify-content: flex-end;
1372 gap: 12px;
1373 margin-top: 24px;
1374 padding-top: 20px;
1375 border-top: 1px solid rgba(0, 0, 0, 0.06);
1376 }
1377
1378 body.ka-v3-dark .ka-rule-form-actions {
1379 border-top-color: rgba(255, 255, 255, 0.08);
1380 }
1381
1382 /* Multi-select for pages */
1383 .ka-rule-pages {
1384 width: 100%;
1385 min-height: 120px;
1386 padding: 12px 14px;
1387 background: #f5f5f7;
1388 border: 1px solid rgba(0, 0, 0, 0.06);
1389 border-radius: 12px;
1390 font-size: 14px;
1391 color: #1d1d1f;
1392 transition: all 0.2s ease;
1393 }
1394
1395 body.ka-v3-dark .ka-rule-pages {
1396 background: rgba(255, 255, 255, 0.06);
1397 border-color: rgba(255, 255, 255, 0.1);
1398 color: #f5f5f7;
1399 }
1400
1401 .ka-rule-pages:focus {
1402 outline: none;
1403 border-color: #0071e3;
1404 box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.1);
1405 }
1406
1407 .ka-rule-pages option {
1408 padding: 8px 4px;
1409 }
1410
1411 /* Conditional rows (hidden by default) */
1412 .ka-rule-pages-row,
1413 .ka-rule-posttype-row,
1414 .ka-rule-url-row {
1415 display: none;
1416 }
1417
1418 /* Template Row - hidden by default, shown for override action */
1419 .ka-rule-template-row {
1420 display: none;
1421 }
1422
1423 /* Colors Grid */
1424 .ka-rule-colors-grid {
1425 display: grid;
1426 grid-template-columns: 1fr 1fr;
1427 gap: 16px;
1428 margin-top: 12px;
1429 }
1430
1431 .ka-rule-color-field {
1432 display: flex;
1433 flex-direction: column;
1434 gap: 8px;
1435 }
1436
1437 .ka-rule-color-field label {
1438 font-size: 12px;
1439 font-weight: 500;
1440 color: #86868b;
1441 }
1442
1443 .ka-rule-color-field input[type="color"] {
1444 width: 100%;
1445 height: 40px;
1446 padding: 4px;
1447 border-radius: 10px;
1448 border: 1px solid rgba(0, 0, 0, 0.08);
1449 cursor: pointer;
1450 }
1451
1452 body.ka-v3-dark .ka-rule-color-field input[type="color"] {
1453 border-color: rgba(255, 255, 255, 0.12);
1454 }
1455
1456 .ka-rule-color-input {
1457 width: 100%;
1458 flex: 1;
1459 }
1460
1461 .ka-rule-color-preview {
1462 width: 40px;
1463 height: 40px;
1464 border-radius: 10px;
1465 border: 2px solid rgba(0, 0, 0, 0.08);
1466 flex-shrink: 0;
1467 }
1468
1469 body.ka-v3-dark .ka-rule-color-preview {
1470 border-color: rgba(255, 255, 255, 0.15);
1471 }
1472
1473 /* Icon Button */
1474 .ka-btn-icon {
1475 display: flex;
1476 align-items: center;
1477 justify-content: center;
1478 width: 32px;
1479 height: 32px;
1480 padding: 0;
1481 border: none;
1482 background: transparent;
1483 border-radius: 8px;
1484 color: #86868b;
1485 cursor: pointer;
1486 transition: all 0.2s ease;
1487 }
1488
1489 .ka-btn-icon:hover {
1490 background: rgba(0, 0, 0, 0.05);
1491 color: #1d1d1f;
1492 }
1493
1494 body.ka-v3-dark .ka-btn-icon:hover {
1495 background: rgba(255, 255, 255, 0.1);
1496 color: #f5f5f7;
1497 }
1498
1499 .ka-btn-icon .dashicons {
1500 font-size: 18px;
1501 width: 18px;
1502 height: 18px;
1503 }
1504
1505 .ka-rule-delete-btn:hover {
1506 background: rgba(255, 59, 48, 0.1);
1507 color: #ff3b30;
1508 }
1509
1510 /* Rule Header Action Badge */
1511 .ka-preloader-rule-item__action {
1512 display: inline-flex;
1513 align-items: center;
1514 padding: 4px 10px;
1515 border-radius: 6px;
1516 font-size: 12px;
1517 font-weight: 600;
1518 text-transform: uppercase;
1519 letter-spacing: 0.5px;
1520 margin-right: 8px;
1521 }
1522
1523 .ka-preloader-rule-item__action[data-action="show"] {
1524 background: rgba(52, 199, 89, 0.15);
1525 color: #34c759;
1526 }
1527
1528 .ka-preloader-rule-item__action[data-action="hide"] {
1529 background: rgba(255, 149, 0, 0.15);
1530 color: #ff9500;
1531 }
1532
1533 .ka-preloader-rule-item__action[data-action="override"] {
1534 background: rgba(88, 86, 214, 0.15);
1535 color: #5856d6;
1536 }
1537
1538 /* Empty Rules State */
1539 .ka-rules-empty {
1540 text-align: center;
1541 padding: 60px 24px;
1542 color: #86868b;
1543 }
1544
1545 .ka-rules-empty-icon {
1546 font-size: 48px;
1547 margin-bottom: 16px;
1548 opacity: 0.5;
1549 }
1550
1551 .ka-rules-empty h3 {
1552 margin: 0 0 8px;
1553 font-size: 18px;
1554 font-weight: 600;
1555 color: #1d1d1f;
1556 }
1557
1558 body.ka-v3-dark .ka-rules-empty h3 {
1559 color: #f5f5f7;
1560 }
1561
1562 .ka-rules-empty p {
1563 margin: 0;
1564 font-size: 14px;
1565 }
1566
1567 /* Responsive */
1568 @media (max-width: 768px) {
1569 .ka-rule-action-group {
1570 flex-direction: column;
1571 }
1572
1573 .ka-rule-colors-grid {
1574 grid-template-columns: 1fr;
1575 }
1576 }
1577