PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.83
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.83
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 / Site_Preloader / assets / admin.css

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

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