PluginProbe ʕ •ᴥ•ʔ
Download Manager / 3.3.63
Download Manager v3.3.63
3.3.64 3.3.63 3.3.62 3.3.61 3.3.60 3.3.59 3.3.58 3.3.57 3.3.56 trunk 2.1.3 2.3.0 2.5.96 2.5.97 2.6.2 2.6.96 2.8.3 2.9.99 3.0.4 3.1.05 3.1.07 3.1.08 3.1.11 3.1.12 3.1.14 3.1.17 3.1.18 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.2.04 3.2.13 3.2.14 3.2.16 3.2.18 3.2.19 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.27 3.2.28 3.2.29 3.2.30 3.2.31 3.2.32 3.2.33 3.2.34 3.2.35 3.2.37 3.2.38 3.2.39 3.2.40 3.2.41 3.2.42 3.2.43 3.2.44 3.2.45 3.2.46 3.2.47 3.2.48 3.2.49 3.2.50 3.2.51 3.2.52 3.2.53 3.2.54 3.2.55 3.2.56 3.2.57 3.2.58 3.2.59 3.2.60 3.2.61 3.2.63 3.2.64 3.2.65 3.2.66 3.2.67 3.2.68 3.2.69 3.2.70 3.2.71 3.2.72 3.2.73 3.2.74 3.2.75 3.2.76 3.2.77 3.2.78 3.2.79 3.2.80 3.2.81 3.2.82 3.2.83 3.2.84 3.2.85 3.2.86 3.2.87 3.2.88 3.2.89 3.2.90 3.2.91 3.2.92 3.2.93 3.2.94 3.2.95 3.2.96 3.2.97 3.2.98 3.2.99 3.3.00 3.3.01 3.3.02 3.3.03 3.3.04 3.3.05 3.3.06 3.3.07 3.3.08 3.3.09 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 3.3.16 3.3.17 3.3.18 3.3.19 3.3.20 3.3.21 3.3.22 3.3.23 3.3.24 3.3.25 3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 3.3.40 3.3.41 3.3.42 3.3.43 3.3.44 3.3.45 3.3.46 3.3.47 3.3.48 3.3.49 3.3.50 3.3.51 3.3.52 3.3.53 3.3.54 3.3.55
download-manager / assets / css / wpdm-elegant-insights.css
download-manager / assets / css Last commit date
admin-styles.css 2 weeks ago admin-styles.min.css 2 weeks ago author-dashboard.css 2 weeks ago author-dashboard.min.css 2 weeks ago front-dark.css 5 months ago front-dark.min.css 5 months ago front.css 2 weeks ago front.min.css 2 weeks ago gutenberg-styles.css 5 years ago gutenberg-styles.min.css 7 months ago jquery.dataTables.css 6 years ago jquery.dataTables.min.css 1 year ago jqueryFileTree.css 5 years ago jqueryFileTree.min.css 5 years ago kitchen-sink.html 2 weeks ago wpdm-dashboard.css 2 weeks ago wpdm-dashboard.min.css 2 weeks ago wpdm-elegant-history.css 2 weeks ago wpdm-elegant-history.min.css 2 weeks ago wpdm-elegant-insights.css 2 weeks ago wpdm-elegant-insights.min.css 2 weeks ago wpdm-elegant-overview.css 2 weeks ago wpdm-elegant-overview.min.css 2 weeks ago wpdm-gallery.css 2 weeks ago wpdm-lock-options.css 1 week ago
wpdm-elegant-insights.css
1370 lines
1 /**
2 * WPDM Elegant Insights Page Styles
3 * Professional and modern design for the insights analytics page
4 */
5
6 /* Modern Color Palette */
7 :root {
8 --wpdm-primary: #2c3e50;
9 --wpdm-secondary: #3498db;
10 --wpdm-success: #27ae60;
11 --wpdm-warning: #f39c12;
12 --wpdm-danger: #e74c3c;
13 --wpdm-info: #17a2b8;
14 --wpdm-light: #f8f9fa;
15 --wpdm-dark: #343a40;
16 --wpdm-muted: #6c757d;
17 --wpdm-white: #ffffff;
18 --wpdm-border: #dee2e6;
19 --wpdm-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
20 --wpdm-shadow-hover: 0 4px 15px rgba(0, 0, 0, 0.12);
21 --wpdm-radius: 12px;
22 --wpdm-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
23 }
24
25 /* =============================================================================
26 INSIGHTS HEADER
27 ============================================================================= */
28
29 body.wpdmpro_page_wpdm-stats .wpdm-admin-page-content{
30 padding: 5px;
31 padding-top: 140px;
32 }
33
34 .insights-header {
35 background: var(--wpdm-secondary);
36 border-radius: var(--wpdm-radius);
37 margin-bottom: 2rem;
38 box-shadow: var(--wpdm-shadow);
39 overflow: hidden;
40 color: var(--wpdm-white);
41 }
42
43 .insights-title {
44 padding: 2rem;
45 border-bottom: 1px solid rgba(255, 255, 255, 0.1);
46 }
47
48 .title-content {
49 display: flex;
50 align-items: center;
51 gap: 1rem;
52 }
53
54 .title-content i {
55 font-size: 2.5rem;
56 opacity: 0.9;
57 }
58
59 .title-text h2 {
60 font-size: 2rem;
61 font-weight: 700;
62 margin: 0 0 0.5rem 0;
63 color: var(--wpdm-white);
64 }
65
66 .title-subtitle {
67 font-size: 1.1rem;
68 opacity: 0.9;
69 margin: 0;
70 font-weight: 500;
71 }
72
73 /* Insights Filters */
74 .insights-filters {
75 padding: 1.5rem 2rem;
76 background: rgba(255, 255, 255, 0.05);
77 backdrop-filter: blur(10px);
78 }
79
80 .date-range-filter {
81 display: flex;
82 align-items: end;
83 gap: 1.5rem;
84 justify-content: center;
85 flex-wrap: wrap;
86 }
87
88 .date-input-group {
89 display: flex;
90 flex-direction: column;
91 gap: 0.5rem;
92 min-width: 150px;
93 }
94
95 .elegant-label {
96 font-size: 0.9rem;
97 font-weight: 600;
98 color: var(--wpdm-white);
99 display: flex;
100 align-items: center;
101 gap: 0.5rem;
102 margin: 0;
103 }
104
105 .elegant-input {
106 padding: 0.75rem 1rem;
107 border: 1px solid rgba(255, 255, 255, 0.3);
108 border-radius: 8px;
109 background: rgba(255, 255, 255, 0.9);
110 color: var(--wpdm-primary) !important;
111 font-size: 0.95rem;
112 font-weight: 500;
113 transition: var(--wpdm-transition);
114 backdrop-filter: blur(10px);
115 cursor: pointer;
116 }
117
118 .elegant-input:focus {
119 outline: none;
120 border-color: rgba(255, 255, 255, 0.8);
121 background: var(--wpdm-white);
122 box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
123 color: var(--wpdm-primary) !important;
124 }
125
126 .elegant-input:hover {
127 border-color: rgba(255, 255, 255, 0.5);
128 background: var(--wpdm-white);
129 }
130
131 .elegant-input::placeholder {
132 color: var(--wpdm-muted);
133 }
134
135
136 .filter-actions {
137 display: flex;
138 gap: 0.75rem;
139 }
140
141 .btn-elegant {
142 background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
143 color: var(--wpdm-white);
144 border: none;
145 padding: 0.75rem 1.5rem;
146 border-radius: 8px;
147 font-size: 0.95rem;
148 font-weight: 600;
149 cursor: pointer;
150 transition: var(--wpdm-transition);
151 display: flex;
152 align-items: center;
153 gap: 0.5rem;
154 text-decoration: none;
155 box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);
156 }
157
158 .btn-elegant:hover {
159 transform: translateY(-2px);
160 box-shadow: 0 4px 15px rgba(52, 152, 219, 0.4);
161 color: var(--wpdm-white);
162 text-decoration: none;
163 }
164
165 .btn-elegant.secondary {
166 background: rgba(255, 255, 255, 0.2);
167 color: var(--wpdm-white);
168 border: 1px solid rgba(255, 255, 255, 0.3);
169 box-shadow: 0 2px 8px rgba(255, 255, 255, 0.1);
170 }
171
172 .btn-elegant.secondary:hover {
173 background: rgba(255, 255, 255, 0.3);
174 border-color: rgba(255, 255, 255, 0.5);
175 box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
176 color: var(--wpdm-white);
177 }
178
179 /* =============================================================================
180 INSIGHTS SUMMARY CARDS
181 ============================================================================= */
182
183 .insights-summary {
184 display: grid;
185 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
186 gap: 1.5rem;
187 margin-bottom: 2rem;
188 }
189
190 .summary-card {
191 background: var(--wpdm-white);
192 border: 1px solid var(--wpdm-border);
193 border-radius: var(--wpdm-radius);
194 padding: 2rem;
195 box-shadow: var(--wpdm-shadow);
196 transition: var(--wpdm-transition);
197 position: relative;
198 overflow: hidden;
199 display: flex;
200 align-items: center;
201 gap: 1.5rem;
202 }
203
204 .summary-card::before {
205 content: '';
206 position: absolute;
207 top: 0;
208 left: 0;
209 right: 0;
210 height: 4px;
211 transition: var(--wpdm-transition);
212 }
213
214 .summary-card:hover {
215 transform: translateY(-3px);
216 box-shadow: var(--wpdm-shadow-hover);
217 }
218
219 .summary-card:hover::before {
220 height: 6px;
221 }
222
223 /* Individual Card Colors */
224 .total-card::before {
225 background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
226 }
227
228 .users-card::before {
229 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
230 }
231
232 .packages-card::before {
233 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
234 }
235
236 .period-card::before {
237 background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
238 }
239
240 .card-icon {
241 width: 70px;
242 height: 70px;
243 border-radius: 50%;
244 display: flex;
245 align-items: center;
246 justify-content: center;
247 font-size: 2rem;
248 color: var(--wpdm-white);
249 flex-shrink: 0;
250 position: relative;
251 }
252
253 .total-card .card-icon {
254 background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
255 }
256
257 .users-card .card-icon {
258 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
259 }
260
261 .packages-card .card-icon {
262 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
263 }
264
265 .period-card .card-icon {
266 background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
267 }
268
269 .card-content {
270 flex: 1;
271 min-width: 0;
272 }
273
274 .card-number {
275 font-size: 2.5rem;
276 font-weight: 700;
277 color: var(--wpdm-primary);
278 line-height: 1;
279 margin-bottom: 0.5rem;
280 }
281
282 .card-label {
283 font-size: 1.1rem;
284 font-weight: 600;
285 color: var(--wpdm-primary);
286 margin-bottom: 0.25rem;
287 }
288
289 .card-subtitle {
290 font-size: 0.9rem;
291 color: var(--wpdm-muted);
292 font-weight: 500;
293 }
294
295 /* =============================================================================
296 INSIGHTS CONTENT
297 ============================================================================= */
298
299 .insights-content {
300 display: flex;
301 flex-direction: column;
302 gap: 2rem;
303 }
304
305 .insights-section {
306 display: grid;
307 gap: 1.5rem;
308 }
309
310 .insights-section.single-row {
311 grid-template-columns: 1fr;
312 }
313
314 .insights-section:not(.full-width):not(.three-columns):not(.single-row) {
315 grid-template-columns: 1fr 1fr;
316 }
317
318 .insights-section.three-columns {
319 grid-template-columns: 1fr 1fr 1fr;
320 }
321
322 .insights-section.full-width {
323 grid-template-columns: 1fr;
324 }
325
326 .insights-card {
327 background: var(--wpdm-white);
328 border: 1px solid var(--wpdm-border);
329 border-radius: var(--wpdm-radius);
330 box-shadow: var(--wpdm-shadow);
331 overflow: hidden;
332 transition: var(--wpdm-transition);
333 }
334
335 .insights-card:hover {
336 box-shadow: var(--wpdm-shadow-hover);
337 }
338
339 .card-header {
340 background: #f8f9fa;
341 padding: 1.5rem;
342 border-bottom: 1px solid var(--wpdm-border);
343 }
344
345 .header-content {
346 display: flex;
347 align-items: center;
348 gap: 1rem;
349 }
350
351 .header-content i {
352 font-size: 1.5rem;
353 color: var(--wpdm-secondary);
354 }
355
356 .header-text h3 {
357 font-size: 1.3rem;
358 font-weight: 600;
359 color: var(--wpdm-primary);
360 margin: 0 0 0.25rem 0;
361 }
362
363 .header-text p {
364 font-size: 0.9rem;
365 color: var(--wpdm-muted);
366 margin: 0;
367 }
368
369 .card-body {
370 padding: 1.5rem;
371 }
372
373 /* =============================================================================
374 TOP PACKAGES SECTION
375 ============================================================================= */
376
377 .top-packages-list {
378 display: flex;
379 flex-direction: column;
380 gap: 1rem;
381 }
382
383 .top-packages-grid {
384 display: grid;
385 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
386 gap: 1rem;
387 }
388
389 .package-item {
390 display: flex;
391 align-items: center;
392 gap: 1rem;
393 padding: 1rem;
394 background: var(--wpdm-light);
395 border-radius: 8px;
396 transition: var(--wpdm-transition);
397 border: 1px solid transparent;
398 }
399
400 .package-item:hover {
401 background: var(--wpdm-white);
402 border-color: var(--wpdm-border);
403 transform: translateY(-2px);
404 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
405 }
406
407 .package-rank {
408 min-width: 40px;
409 text-align: center;
410 }
411
412 .rank-number {
413 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
414 color: var(--wpdm-white);
415 padding: 0.5rem 0.75rem;
416 border-radius: 20px;
417 font-weight: 700;
418 font-size: 0.9rem;
419 }
420
421 .package-info {
422 flex: 1;
423 min-width: 0;
424 }
425
426 .package-name a {
427 font-size: 1.1rem;
428 font-weight: 600;
429 color: var(--wpdm-primary);
430 text-decoration: none;
431 line-height: 1.3;
432 display: block;
433 margin-bottom: 0.25rem;
434 }
435
436 .package-name a:hover {
437 color: var(--wpdm-secondary);
438 text-decoration: underline;
439 }
440
441 .package-meta {
442 display: flex;
443 align-items: center;
444 gap: 1rem;
445 }
446
447 .download-count {
448 display: flex;
449 align-items: center;
450 gap: 0.5rem;
451 color: var(--wpdm-muted);
452 font-size: 0.9rem;
453 font-weight: 500;
454 }
455
456 .download-count i {
457 color: var(--wpdm-success);
458 }
459
460 .package-actions {
461 display: flex;
462 gap: 0.5rem;
463 opacity: 0;
464 transition: var(--wpdm-transition);
465 }
466
467 .package-item:hover .package-actions {
468 opacity: 1;
469 }
470
471 .action-btn {
472 display: flex;
473 align-items: center;
474 justify-content: center;
475 width: 32px;
476 height: 32px;
477 border-radius: 6px;
478 background: var(--wpdm-light);
479 color: var(--wpdm-muted);
480 text-decoration: none;
481 transition: var(--wpdm-transition);
482 border: 1px solid var(--wpdm-border);
483 }
484
485 .action-btn:hover {
486 background: var(--wpdm-secondary);
487 color: var(--wpdm-white);
488 border-color: var(--wpdm-secondary);
489 text-decoration: none;
490 transform: translateY(-1px);
491 }
492
493 /* =============================================================================
494 CHART SECTION
495 ============================================================================= */
496
497 .chart-card .card-body {
498 padding: 0;
499 }
500
501 .chart-container {
502 height: 400px;
503 width: 100%;
504 padding: 1rem;
505 }
506
507 /* =============================================================================
508 TOP USERS SECTION
509 ============================================================================= */
510
511 /* Compact Users List for Three Column Layout */
512 .users-list {
513 display: flex;
514 flex-direction: column;
515 gap: 0.75rem;
516 }
517
518 .user-item-compact {
519 display: flex;
520 align-items: center;
521 gap: 0.75rem;
522 padding: 0.75rem;
523 background: var(--wpdm-light);
524 border-radius: 8px;
525 transition: var(--wpdm-transition);
526 border: 1px solid transparent;
527 }
528
529 .user-item-compact:hover {
530 background: var(--wpdm-white);
531 border-color: var(--wpdm-border);
532 transform: translateY(-1px);
533 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
534 }
535
536 .user-avatar-small {
537 width: 35px;
538 height: 35px;
539 border-radius: 50%;
540 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
541 display: flex;
542 align-items: center;
543 justify-content: center;
544 color: var(--wpdm-white);
545 font-size: 1rem;
546 flex-shrink: 0;
547 }
548
549 .user-item-compact.guest-user .user-avatar-small {
550 background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
551 }
552
553 .user-item-compact.deleted-user .user-avatar-small {
554 background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
555 }
556
557 .user-info-compact {
558 flex: 1;
559 min-width: 0;
560 }
561
562 .user-header-compact {
563 display: flex;
564 align-items: center;
565 gap: 0.5rem;
566 margin-bottom: 0.25rem;
567 }
568
569 .user-rank-badge-small {
570 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
571 color: var(--wpdm-white);
572 padding: 0.15rem 0.5rem;
573 border-radius: 10px;
574 font-size: 0.7rem;
575 font-weight: 700;
576 line-height: 1;
577 }
578
579 .user-name-compact {
580 font-size: 0.9rem;
581 font-weight: 600;
582 color: var(--wpdm-primary);
583 }
584
585 .user-stats-compact {
586 display: flex;
587 align-items: center;
588 gap: 0.5rem;
589 }
590
591 .stat-item-compact {
592 display: flex;
593 align-items: center;
594 gap: 0.25rem;
595 font-size: 0.8rem;
596 color: var(--wpdm-muted);
597 }
598
599 .stat-item-compact i {
600 color: var(--wpdm-success);
601 width: 12px;
602 text-align: center;
603 }
604
605 .user-actions-compact {
606 display: flex;
607 gap: 0.25rem;
608 opacity: 0;
609 transition: var(--wpdm-transition);
610 }
611
612 .user-item-compact:hover .user-actions-compact {
613 opacity: 1;
614 }
615
616 .action-btn-small {
617 display: flex;
618 align-items: center;
619 justify-content: center;
620 width: 24px;
621 height: 24px;
622 border-radius: 4px;
623 background: var(--wpdm-light);
624 color: var(--wpdm-muted);
625 text-decoration: none;
626 transition: var(--wpdm-transition);
627 border: 1px solid var(--wpdm-border);
628 font-size: 0.8rem;
629 }
630
631 .action-btn-small:hover {
632 background: var(--wpdm-secondary);
633 color: var(--wpdm-white);
634 border-color: var(--wpdm-secondary);
635 text-decoration: none;
636 transform: translateY(-1px);
637 }
638
639 .users-grid {
640 display: grid;
641 grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
642 gap: 1.5rem;
643 }
644
645 .user-item {
646 display: flex;
647 align-items: center;
648 gap: 1rem;
649 padding: 1.5rem;
650 background: var(--wpdm-light);
651 border-radius: var(--wpdm-radius);
652 transition: var(--wpdm-transition);
653 border: 1px solid transparent;
654 position: relative;
655 }
656
657 .user-item::before {
658 content: '';
659 position: absolute;
660 top: 0;
661 left: 0;
662 right: 0;
663 height: 3px;
664 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
665 border-radius: var(--wpdm-radius) var(--wpdm-radius) 0 0;
666 opacity: 0;
667 transition: var(--wpdm-transition);
668 }
669
670 .user-item:hover {
671 background: var(--wpdm-white);
672 border-color: var(--wpdm-border);
673 transform: translateY(-2px);
674 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
675 }
676
677 .user-item:hover::before {
678 opacity: 1;
679 }
680
681 .user-avatar {
682 width: 50px;
683 height: 50px;
684 border-radius: 50%;
685 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
686 display: flex;
687 align-items: center;
688 justify-content: center;
689 color: var(--wpdm-white);
690 font-size: 1.5rem;
691 flex-shrink: 0;
692 }
693
694 .user-item.guest-user .user-avatar {
695 background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
696 }
697
698 .user-item.deleted-user .user-avatar {
699 background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
700 }
701
702 .user-info {
703 flex: 1;
704 min-width: 0;
705 }
706
707 .user-header {
708 display: flex;
709 align-items: center;
710 gap: 0.75rem;
711 margin-bottom: 0.75rem;
712 }
713
714 .user-rank-badge {
715 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
716 color: var(--wpdm-white);
717 padding: 0.25rem 0.75rem;
718 border-radius: 15px;
719 font-size: 0.8rem;
720 font-weight: 700;
721 }
722
723 .user-name {
724 font-size: 1.1rem;
725 font-weight: 600;
726 color: var(--wpdm-primary);
727 }
728
729 .user-stats {
730 display: flex;
731 flex-direction: column;
732 gap: 0.5rem;
733 }
734
735 .stat-item {
736 display: flex;
737 align-items: center;
738 gap: 0.5rem;
739 font-size: 0.9rem;
740 color: var(--wpdm-muted);
741 }
742
743 .stat-item i {
744 color: var(--wpdm-secondary);
745 width: 16px;
746 text-align: center;
747 }
748
749 .user-actions {
750 display: flex;
751 gap: 0.5rem;
752 opacity: 0;
753 transition: var(--wpdm-transition);
754 }
755
756 .user-item:hover .user-actions {
757 opacity: 1;
758 }
759
760 /* =============================================================================
761 EMPTY STATES
762 ============================================================================= */
763
764 .empty-state {
765 text-align: center;
766 padding: 3rem 1rem;
767 color: var(--wpdm-muted);
768 }
769
770 .empty-icon {
771 font-size: 4rem;
772 margin-bottom: 1.5rem;
773 opacity: 0.7;
774 }
775
776 .empty-message h4 {
777 color: var(--wpdm-primary);
778 margin-bottom: 0.5rem;
779 font-size: 1.2rem;
780 }
781
782 .empty-message p {
783 margin: 0;
784 max-width: 400px;
785 margin-left: auto;
786 margin-right: auto;
787 line-height: 1.5;
788 }
789
790 /* =============================================================================
791 RESPONSIVE DESIGN
792 ============================================================================= */
793
794 @media (max-width: 1200px) {
795 .insights-section.three-columns {
796 grid-template-columns: 1fr;
797 gap: 1rem;
798 }
799
800 .insights-section:not(.full-width):not(.three-columns):not(.single-row) {
801 grid-template-columns: 1fr;
802 }
803 }
804
805 @media (max-width: 768px) {
806 .insights-header {
807 margin-bottom: 1.5rem;
808 }
809
810 .insights-title {
811 padding: 1.5rem;
812 }
813
814 .title-content {
815 flex-direction: column;
816 text-align: center;
817 gap: 0.75rem;
818 }
819
820 .title-content i {
821 font-size: 2rem;
822 }
823
824 .title-text h2 {
825 font-size: 1.5rem;
826 }
827
828 .insights-filters {
829 padding: 1rem 1.5rem;
830 }
831
832 .date-range-filter {
833 flex-direction: column;
834 align-items: stretch;
835 gap: 1rem;
836 }
837
838 .filter-actions {
839 flex-direction: column;
840 }
841
842 .insights-summary {
843 grid-template-columns: 1fr;
844 gap: 1rem;
845 }
846
847 .summary-card {
848 padding: 1.5rem;
849 flex-direction: column;
850 text-align: center;
851 gap: 1rem;
852 }
853
854 .card-icon {
855 width: 60px;
856 height: 60px;
857 font-size: 1.5rem;
858 }
859
860 .card-number {
861 font-size: 2rem;
862 }
863
864 .users-grid {
865 grid-template-columns: 1fr;
866 gap: 1rem;
867 }
868
869 .top-packages-grid {
870 grid-template-columns: 1fr;
871 gap: 0.75rem;
872 }
873
874 .user-item {
875 padding: 1rem;
876 flex-direction: column;
877 text-align: center;
878 gap: 0.75rem;
879 }
880
881 .user-header {
882 justify-content: center;
883 }
884
885 .package-item {
886 flex-direction: column;
887 text-align: center;
888 gap: 0.75rem;
889 padding: 1rem;
890 }
891
892 .package-actions {
893 opacity: 1;
894 }
895
896 .user-actions {
897 opacity: 1;
898 }
899
900 .chart-container {
901 height: 300px;
902 }
903 }
904
905 @media (max-width: 480px) {
906 .insights-title {
907 padding: 1rem;
908 }
909
910 .insights-filters {
911 padding: 1rem;
912 }
913
914 .card-header {
915 padding: 1rem;
916 }
917
918 .card-body {
919 padding: 1rem;
920 }
921
922 .chart-container {
923 height: 250px;
924 padding: 0.5rem;
925 }
926 }
927
928 /* =============================================================================
929 ANIMATIONS
930 ============================================================================= */
931
932 .insights-header {
933 animation: fadeInUp 0.6s ease-out;
934 }
935
936 .insights-summary {
937 animation: fadeInUp 0.6s ease-out 0.1s both;
938 }
939
940 .insights-section:nth-child(1) {
941 animation: fadeInUp 0.6s ease-out 0.2s both;
942 }
943
944 .insights-section:nth-child(2) {
945 animation: fadeInUp 0.6s ease-out 0.3s both;
946 }
947
948 @keyframes fadeInUp {
949 from {
950 opacity: 0;
951 transform: translateY(30px);
952 }
953 to {
954 opacity: 1;
955 transform: translateY(0);
956 }
957 }
958
959 /* =============================================================================
960 ACCESSIBILITY
961 ============================================================================= */
962
963 @media (prefers-reduced-motion: reduce) {
964 *,
965 *::before,
966 *::after {
967 animation-duration: 0.01ms !important;
968 animation-iteration-count: 1 !important;
969 transition-duration: 0.01ms !important;
970 }
971 }
972
973 .insights-card:focus-within,
974 .summary-card:focus-within,
975 .user-item:focus-within,
976 .package-item:focus-within {
977 outline: 2px solid var(--wpdm-secondary);
978 outline-offset: 2px;
979 }
980
981 .btn-elegant:focus,
982 .elegant-input:focus,
983 .action-btn:focus {
984 outline: 2px solid var(--wpdm-secondary);
985 outline-offset: 2px;
986 }
987
988 /* =============================================================================
989 NEW INSIGHTS FEATURES STYLING
990 ============================================================================= */
991
992 /* Browser Analytics */
993 .browser-analytics-container {
994 display: grid;
995 grid-template-columns: 2fr 1fr;
996 gap: 2rem;
997 align-items: start;
998 }
999
1000 .browser-chart {
1001 min-height: 300px;
1002 }
1003
1004 .browser-list {
1005 display: flex;
1006 flex-direction: column;
1007 gap: 0.75rem;
1008 }
1009
1010 .browser-item {
1011 display: flex;
1012 align-items: center;
1013 gap: 1rem;
1014 padding: 0.75rem;
1015 background: var(--wpdm-light);
1016 border-radius: 8px;
1017 transition: var(--wpdm-transition);
1018 }
1019
1020 .browser-item:hover {
1021 background: var(--wpdm-white);
1022 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
1023 }
1024
1025 .browser-rank {
1026 font-weight: 700;
1027 color: var(--wpdm-secondary);
1028 font-size: 0.9rem;
1029 min-width: 25px;
1030 }
1031
1032 .browser-info {
1033 flex: 1;
1034 }
1035
1036 .browser-name {
1037 font-weight: 600;
1038 color: var(--wpdm-primary);
1039 font-size: 0.95rem;
1040 }
1041
1042 .browser-count {
1043 font-size: 0.8rem;
1044 color: var(--wpdm-muted);
1045 }
1046
1047 .browser-percentage {
1048 font-weight: 600;
1049 color: var(--wpdm-success);
1050 font-size: 0.9rem;
1051 }
1052
1053 /* Download Patterns */
1054 .patterns-grid {
1055 display: grid;
1056 grid-template-columns: 2fr 1fr;
1057 gap: 2rem;
1058 }
1059
1060 .pattern-chart h4,
1061 .pattern-stats h4 {
1062 font-size: 1.1rem;
1063 font-weight: 600;
1064 color: var(--wpdm-primary);
1065 margin-bottom: 1rem;
1066 }
1067
1068 .chart-container-small {
1069 height: 200px;
1070 width: 100%;
1071 }
1072
1073 .weekly-stats {
1074 display: flex;
1075 flex-direction: column;
1076 gap: 0.5rem;
1077 }
1078
1079 .day-stat {
1080 display: flex;
1081 justify-content: space-between;
1082 align-items: center;
1083 padding: 0.5rem 1rem;
1084 background: var(--wpdm-light);
1085 border-radius: 6px;
1086 transition: var(--wpdm-transition);
1087 }
1088
1089 .day-stat:hover {
1090 background: rgba(52, 152, 219, 0.1);
1091 }
1092
1093 .day-name {
1094 font-weight: 600;
1095 color: var(--wpdm-primary);
1096 }
1097
1098 .day-downloads {
1099 font-weight: 600;
1100 color: var(--wpdm-secondary);
1101 }
1102
1103 /* Top Files */
1104 .files-grid {
1105 display: grid;
1106 grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
1107 gap: 1rem;
1108 }
1109
1110 .file-item {
1111 display: flex;
1112 align-items: center;
1113 gap: 1rem;
1114 padding: 1rem;
1115 background: var(--wpdm-light);
1116 border-radius: 8px;
1117 transition: var(--wpdm-transition);
1118 }
1119
1120 .file-item:hover {
1121 background: var(--wpdm-white);
1122 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
1123 transform: translateY(-1px);
1124 }
1125
1126 .file-rank .rank-number {
1127 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
1128 color: var(--wpdm-white);
1129 padding: 0.25rem 0.5rem;
1130 border-radius: 12px;
1131 font-size: 0.8rem;
1132 font-weight: 700;
1133 }
1134
1135 .file-info {
1136 flex: 1;
1137 min-width: 0;
1138 }
1139
1140 .file-name {
1141 display: flex;
1142 align-items: center;
1143 gap: 0.5rem;
1144 font-weight: 600;
1145 color: var(--wpdm-primary);
1146 margin-bottom: 0.25rem;
1147 }
1148
1149 .file-name i {
1150 color: var(--wpdm-secondary);
1151 }
1152
1153 .file-downloads {
1154 display: flex;
1155 align-items: center;
1156 gap: 0.5rem;
1157 font-size: 0.9rem;
1158 color: var(--wpdm-muted);
1159 }
1160
1161 .file-downloads i {
1162 color: var(--wpdm-success);
1163 }
1164
1165 .file-percentage {
1166 font-weight: 600;
1167 color: var(--wpdm-warning);
1168 font-size: 0.9rem;
1169 }
1170
1171 /* User Analytics */
1172 .user-analytics-grid {
1173 display: grid;
1174 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1175 gap: 1.5rem;
1176 }
1177
1178 .user-type-card {
1179 background: var(--wpdm-light);
1180 border-radius: var(--wpdm-radius);
1181 padding: 1.5rem;
1182 display: flex;
1183 align-items: center;
1184 gap: 1rem;
1185 transition: var(--wpdm-transition);
1186 border: 2px solid transparent;
1187 }
1188
1189 .user-type-card:hover {
1190 background: var(--wpdm-white);
1191 box-shadow: var(--wpdm-shadow);
1192 transform: translateY(-2px);
1193 }
1194
1195 .user-type-card.registered-users {
1196 border-color: rgba(52, 152, 219, 0.2);
1197 }
1198
1199 .user-type-card.registered-users:hover {
1200 border-color: var(--wpdm-secondary);
1201 }
1202
1203 .user-type-card.guest-users {
1204 border-color: rgba(108, 117, 125, 0.2);
1205 }
1206
1207 .user-type-card.guest-users:hover {
1208 border-color: var(--wpdm-muted);
1209 }
1210
1211 .user-type-icon {
1212 width: 60px;
1213 height: 60px;
1214 border-radius: 50%;
1215 display: flex;
1216 align-items: center;
1217 justify-content: center;
1218 font-size: 1.5rem;
1219 color: var(--wpdm-white);
1220 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1221 }
1222
1223 .user-type-card.guest-users .user-type-icon {
1224 background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
1225 }
1226
1227 .user-type-stats h4 {
1228 margin: 0 0 1rem 0;
1229 color: var(--wpdm-primary);
1230 font-size: 1.1rem;
1231 }
1232
1233 .stat-row {
1234 display: flex;
1235 justify-content: space-between;
1236 margin-bottom: 0.5rem;
1237 }
1238
1239 .stat-label {
1240 color: var(--wpdm-muted);
1241 font-size: 0.9rem;
1242 }
1243
1244 .stat-value {
1245 font-weight: 600;
1246 color: var(--wpdm-primary);
1247 }
1248
1249 /* Package Engagement */
1250 .engagement-grid {
1251 display: grid;
1252 grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
1253 gap: 1rem;
1254 }
1255
1256 .engagement-item {
1257 display: flex;
1258 align-items: center;
1259 gap: 1rem;
1260 padding: 1rem;
1261 background: var(--wpdm-light);
1262 border-radius: 8px;
1263 transition: var(--wpdm-transition);
1264 }
1265
1266 .engagement-item:hover {
1267 background: var(--wpdm-white);
1268 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
1269 transform: translateY(-1px);
1270 }
1271
1272 .engagement-rank .rank-number {
1273 background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
1274 color: var(--wpdm-white);
1275 padding: 0.25rem 0.5rem;
1276 border-radius: 12px;
1277 font-size: 0.8rem;
1278 font-weight: 700;
1279 }
1280
1281 .engagement-info {
1282 flex: 1;
1283 min-width: 0;
1284 }
1285
1286 .package-title {
1287 font-weight: 600;
1288 color: var(--wpdm-primary);
1289 margin-bottom: 0.5rem;
1290 line-height: 1.3;
1291 }
1292
1293 .engagement-stats {
1294 display: flex;
1295 gap: 1rem;
1296 }
1297
1298 .stat-item {
1299 display: flex;
1300 align-items: center;
1301 gap: 0.25rem;
1302 font-size: 0.8rem;
1303 color: var(--wpdm-muted);
1304 }
1305
1306 .stat-item i {
1307 color: var(--wpdm-secondary);
1308 }
1309
1310 .engagement-score {
1311 text-align: center;
1312 min-width: 60px;
1313 }
1314
1315 .score-value {
1316 font-size: 1.5rem;
1317 font-weight: 700;
1318 color: var(--wpdm-success);
1319 line-height: 1;
1320 }
1321
1322 .score-label {
1323 font-size: 0.7rem;
1324 color: var(--wpdm-muted);
1325 text-transform: uppercase;
1326 letter-spacing: 0.5px;
1327 }
1328
1329 /* Responsive Design for New Features */
1330 @media (max-width: 768px) {
1331 .browser-analytics-container,
1332 .patterns-grid {
1333 grid-template-columns: 1fr;
1334 gap: 1rem;
1335 }
1336
1337 .files-grid,
1338 .engagement-grid {
1339 grid-template-columns: 1fr;
1340 gap: 0.75rem;
1341 }
1342
1343 .user-analytics-grid {
1344 grid-template-columns: 1fr;
1345 gap: 1rem;
1346 }
1347
1348 .user-type-card {
1349 flex-direction: column;
1350 text-align: center;
1351 gap: 1rem;
1352 padding: 1rem;
1353 }
1354
1355 .chart-container-small {
1356 height: 150px;
1357 }
1358 }
1359
1360 /* Dark mode support */
1361 @media (prefers-color-scheme: dark) {
1362 .wpdm-dark-mode {
1363 --wpdm-primary: #e9ecef;
1364 --wpdm-light: #343a40;
1365 --wpdm-white: #212529;
1366 --wpdm-border: #495057;
1367 --wpdm-muted: #adb5bd;
1368 }
1369 }
1370