PluginProbe ʕ •ᴥ•ʔ
Download Manager / 3.3.63
Download Manager v3.3.63
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-dashboard.css
download-manager / assets / css Last commit date
admin-styles.css 1 week ago admin-styles.min.css 1 week ago author-dashboard.css 1 week ago author-dashboard.min.css 1 week ago front-dark.css 5 months ago front-dark.min.css 5 months ago front.css 1 week ago front.min.css 1 week 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 1 week ago wpdm-dashboard.css 1 week ago wpdm-dashboard.min.css 1 week ago wpdm-elegant-history.css 1 week ago wpdm-elegant-history.min.css 1 week ago wpdm-elegant-insights.css 1 week ago wpdm-elegant-insights.min.css 1 week ago wpdm-elegant-overview.css 1 week ago wpdm-elegant-overview.min.css 1 week ago wpdm-gallery.css 1 week ago wpdm-lock-options.css 1 week ago
wpdm-dashboard.css
2264 lines
1 /**
2 * WPDM Dashboard - Slack-Style Design
3 * Modern, contained frame with dark sidebar
4 */
5
6 /* ==========================================================================
7 1. Design Tokens
8 ========================================================================== */
9
10 .wpdm-dashboard {
11 /* Sidebar Colors - Uses --color-primary from theme */
12 --sidebar-bg: var(--color-primary, #0073aa);
13 --sidebar-border: rgba(255, 255, 255, 0.15);
14 --sidebar-text: rgba(255, 255, 255, 0.9);
15 --sidebar-text-muted: rgba(255, 255, 255, 0.65);
16 --sidebar-hover: rgba(255, 255, 255, 0.12);
17 --sidebar-active: rgba(255, 255, 255, 0.2);
18 --sidebar-active-border: #fff;
19
20 /* Main Content Colors */
21 --main-bg: #f8fafc;
22 --content-bg: #ffffff;
23 --border-color: #e2e8f0;
24 --border-light: #f1f5f9;
25
26 /* Text Colors */
27 --text-primary: #0f172a;
28 --text-secondary: #475569;
29 --text-muted: #94a3b8;
30
31 /* Accent Colors */
32 --accent: var(--color-primary);
33 --accent-hover: var(--color-primary-hover);
34 --accent-light: rgba(var(--color-primary-rgb), 0.1);
35 --accent-rgb: var(--color-primary-rgb);
36
37 /* Status Colors */
38 --success: var(--color-success);
39 --success-light: rgba(var(--color-success-rgb), 0.1);
40 --warning: var(--color-warning);
41 --warning-light: rgba(var(--color-warning-rgb), 0.1);
42 --danger: var(--color-danger);
43 --danger-light: rgba(var(--color-danger-rgb), 0.1);
44 --info: var(--color-info);
45 --info-light: rgba(var(--color-info-rgb), 0.1);
46
47 /* Shadows */
48 --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
49 --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
50 --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.12);
51 --shadow-glow: 0 0 40px rgba(0, 115, 170, 0.12);
52
53 /* Spacing */
54 --sidebar-width: 260px;
55 --radius-sm: 6px;
56 --radius-md: 10px;
57 --radius-lg: 14px;
58 --radius-xl: 20px;
59
60 /* Typography */
61 --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
62 --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;
63
64 /* Transitions */
65 --transition-fast: 150ms ease;
66 --transition-base: 200ms ease;
67 }
68
69 /* ==========================================================================
70 2. Base & Reset
71 ========================================================================== */
72
73 .wpdm-dashboard {
74 font-family: var(--font-sans);
75 font-size: 14px;
76 line-height: 1.5;
77 color: var(--text-primary);
78 -webkit-font-smoothing: antialiased;
79 -moz-osx-font-smoothing: grayscale;
80 }
81
82 .wpdm-dashboard *,
83 .wpdm-dashboard *::before,
84 .wpdm-dashboard *::after {
85 box-sizing: border-box;
86 }
87
88 .wpdm-dashboard ul,
89 .wpdm-dashboard ol {
90 list-style: none;
91 padding: 0;
92 margin: 0;
93 }
94
95 .wpdm-dashboard li::before,
96 .wpdm-dashboard li::marker {
97 display: none;
98 content: none;
99 }
100
101 /* ==========================================================================
102 3. Dashboard Frame - Contained Layout
103 ========================================================================== */
104
105 .wpdm-dashboard-frame {
106 display: flex;
107 min-height: 500px;
108 background: var(--content-bg);
109 border-radius: var(--radius-xl);
110 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
111 overflow: hidden;
112 border: 1px solid var(--border-color);
113 }
114
115 /* ==========================================================================
116 4. Sidebar
117 ========================================================================== */
118
119 .wpdm-sidebar {
120 width: var(--sidebar-width);
121 flex-shrink: 0;
122 display: flex;
123 flex-direction: column;
124 background: linear-gradient(180deg, var(--sidebar-bg) 0%, color-mix(in srgb, var(--sidebar-bg) 85%, #000) 100%);
125 border-right: 1px solid var(--sidebar-border);
126 position: relative;
127 }
128
129 /* SVG pattern overlay */
130 .wpdm-sidebar::before {
131 content: '';
132 position: absolute;
133 inset: 0;
134 background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
135 pointer-events: none;
136 opacity: 0.8;
137 }
138
139 /* Sidebar Header - User Profile */
140 .wpdm-sidebar-header {
141 padding: 20px 16px;
142 border-bottom: 1px solid rgba(255, 255, 255, 0.12);
143 background: rgba(0, 0, 0, 0.1);
144 position: relative;
145 z-index: 1;
146 }
147
148 .wpdm-sidebar-header .wpdm-user-avatar {
149 width: 52px;
150 height: 52px;
151 }
152
153 .wpdm-sidebar-header .wpdm-user-avatar img {
154 border-radius: var(--radius-md);
155 border: 3px solid rgba(255, 255, 255, 0.25);
156 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
157 }
158
159 .wpdm-sidebar-header .wpdm-user-name {
160 font-size: 15px;
161 text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
162 }
163
164 .wpdm-sidebar-header .wpdm-user-role {
165 font-size: 12px;
166 opacity: 0.8;
167 background: rgba(255, 255, 255, 0.15);
168 padding: 2px 8px;
169 border-radius: 10px;
170 display: inline-block;
171 margin-top: 2px;
172 }
173
174 /* Navigation */
175 .wpdm-sidebar-nav {
176 flex: 1;
177 overflow-y: auto;
178 padding: 12px 10px;
179 position: relative;
180 z-index: 1;
181 }
182
183 .wpdm-sidebar-nav::-webkit-scrollbar {
184 width: 4px;
185 }
186
187 .wpdm-sidebar-nav::-webkit-scrollbar-track {
188 background: transparent;
189 }
190
191 .wpdm-sidebar-nav::-webkit-scrollbar-thumb {
192 background: rgba(255, 255, 255, 0.2);
193 border-radius: 4px;
194 }
195
196 .wpdm-nav-group {
197 margin-bottom: 4px;
198 }
199
200 .wpdm-nav-group-title {
201 padding: 18px 14px 10px;
202 font-size: 10px;
203 font-weight: 700;
204 text-transform: uppercase;
205 letter-spacing: 0.1em;
206 color: rgba(255, 255, 255, 0.5) !important;
207 }
208
209 .wpdm-nav-link {
210 display: flex;
211 align-items: center;
212 gap: 12px;
213 padding: 10px 14px;
214 font-size: 13px;
215 font-weight: 500;
216 color: rgba(255, 255, 255, 0.85) !important;
217 text-decoration: none !important;
218 border-radius: var(--radius-sm);
219 margin: 2px 0;
220 transition: all var(--transition-fast);
221 position: relative;
222 }
223
224 .wpdm-nav-link:hover {
225 background: rgba(255, 255, 255, 0.12);
226 color: #fff !important;
227 text-decoration: none !important;
228 }
229
230 .wpdm-nav-link.active {
231 background: rgba(255, 255, 255, 0.18);
232 color: #fff !important;
233 font-weight: 600;
234 }
235
236 .wpdm-nav-link.active::before {
237 content: '';
238 position: absolute;
239 left: 0;
240 top: 50%;
241 transform: translateY(-50%);
242 width: 3px;
243 height: 55%;
244 background: #fff;
245 border-radius: 0 3px 3px 0;
246 }
247
248 .wpdm-nav-link i {
249 font-size: 16px;
250 width: 20px;
251 text-align: center;
252 color: rgba(255, 255, 255, 0.75) !important;
253 transition: all var(--transition-fast);
254 }
255
256 .wpdm-nav-link:hover i,
257 .wpdm-nav-link.active i {
258 color: #fff !important;
259 }
260
261 /* User Profile */
262 .wpdm-user-profile {
263 display: flex;
264 align-items: center;
265 gap: 12px;
266 }
267
268 .wpdm-user-avatar {
269 position: relative;
270 width: 44px;
271 height: 44px;
272 flex-shrink: 0;
273 }
274
275 .wpdm-user-avatar img {
276 width: 100%;
277 height: 100%;
278 border-radius: var(--radius-md);
279 object-fit: cover;
280 border: 2px solid rgba(255, 255, 255, 0.25);
281 margin: 0 !important;
282 }
283
284 .wpdm-user-status {
285 position: absolute;
286 bottom: 0;
287 right: 0;
288 width: 12px;
289 height: 12px;
290 background: #22c55e;
291 border: 2px solid var(--sidebar-bg);
292 border-radius: 50%;
293 }
294
295 .wpdm-user-info {
296 display: flex;
297 flex-direction: column;
298 min-width: 0;
299 }
300
301 .wpdm-user-name {
302 font-size: 14px;
303 font-weight: 600;
304 color: #fff !important;
305 white-space: nowrap;
306 overflow: hidden;
307 text-overflow: ellipsis;
308 line-height: 1.3;
309 }
310
311 .wpdm-user-role {
312 font-size: 12px;
313 color: rgba(255, 255, 255, 0.7) !important;
314 }
315
316 /* Sidebar Footer - Logout */
317 .wpdm-sidebar-footer {
318 padding: 12px 10px;
319 border-top: 1px solid rgba(255, 255, 255, 0.1);
320 background: rgba(0, 0, 0, 0.08);
321 position: relative;
322 z-index: 1;
323 }
324
325 .wpdm-logout-link {
326 display: flex;
327 align-items: center;
328 gap: 10px;
329 padding: 10px 14px;
330 font-size: 14px;
331 font-weight: 500;
332 color: rgba(255, 255, 255, 0.8) !important;
333 text-decoration: none !important;
334 border-radius: var(--radius-md);
335 transition: all var(--transition-fast);
336 }
337
338 .wpdm-logout-link:hover {
339 background: rgba(239, 68, 68, 0.15);
340 color: #fca5a5 !important;
341 text-decoration: none !important;
342 }
343
344 .wpdm-logout-link svg {
345 color: rgba(255, 255, 255, 0.7) !important;
346 transition: all var(--transition-fast);
347 }
348
349 .wpdm-logout-link:hover svg {
350 color: #fca5a5 !important;
351 }
352
353 /* ==========================================================================
354 5. Main Content
355 ========================================================================== */
356
357 .wpdm-main {
358 flex: 1;
359 min-width: 0;
360 background: var(--main-bg);
361 overflow-y: auto;
362 }
363
364 .wpdm-main-inner {
365 padding: 24px;
366 min-height: 100%;
367 }
368
369 /* ==========================================================================
370 6. Mobile Toggle
371 ========================================================================== */
372
373 .wpdm-mobile-toggle {
374 display: none;
375 position: fixed;
376 bottom: 20px;
377 right: 20px;
378 z-index: 100;
379 width: 52px;
380 height: 52px;
381 align-items: center;
382 justify-content: center;
383 background: var(--sidebar-bg);
384 border: none;
385 border-radius: 50%;
386 color: #fff;
387 cursor: pointer;
388 box-shadow: var(--shadow-lg);
389 transition: all var(--transition-base);
390 }
391
392 .wpdm-mobile-toggle:hover {
393 transform: scale(1.05);
394 }
395
396 /* Overlay */
397 .wpdm-overlay {
398 display: none;
399 position: fixed;
400 inset: 0;
401 background: rgba(0, 0, 0, 0.6);
402 backdrop-filter: blur(4px);
403 z-index: 999;
404 opacity: 0;
405 transition: opacity var(--transition-base);
406 }
407
408 .wpdm-overlay.visible {
409 opacity: 1;
410 }
411
412 /* ==========================================================================
413 7. Stats Grid
414 ========================================================================== */
415
416 .wpdm-stats-grid {
417 display: grid;
418 grid-template-columns: repeat(3, 1fr);
419 gap: 16px;
420 margin-bottom: 24px;
421 }
422
423 @media (max-width: 1200px) {
424 .wpdm-stats-grid {
425 grid-template-columns: repeat(2, 1fr);
426 }
427 }
428
429 @media (max-width: 600px) {
430 .wpdm-stats-grid {
431 grid-template-columns: 1fr;
432 }
433 }
434
435 .wpdm-stat-card {
436 display: flex;
437 align-items: center;
438 gap: 14px;
439 padding: 18px;
440 background: var(--content-bg);
441 border-radius: var(--radius-lg);
442 border: 1px solid var(--border-color);
443 transition: all var(--transition-base);
444 }
445
446 .wpdm-stat-card:hover {
447 border-color: rgba(var(--accent-rgb), 0.3);
448 box-shadow: 0 4px 20px rgba(var(--accent-rgb), 0.08);
449 }
450
451 .wpdm-stat-icon {
452 width: 44px;
453 height: 44px;
454 display: flex;
455 align-items: center;
456 justify-content: center;
457 background: var(--accent-light);
458 border-radius: var(--radius-md);
459 flex-shrink: 0;
460 }
461
462 .wpdm-stat-icon svg {
463 width: 22px;
464 height: 22px;
465 color: var(--accent);
466 }
467
468 .wpdm-stat-icon--success {
469 background: var(--success-light);
470 }
471 .wpdm-stat-icon--success svg {
472 color: var(--success);
473 }
474
475 .wpdm-stat-icon--warning {
476 background: var(--warning-light);
477 }
478 .wpdm-stat-icon--warning svg {
479 color: var(--warning);
480 }
481
482 .wpdm-stat-icon--info {
483 background: var(--info-light);
484 }
485 .wpdm-stat-icon--info svg {
486 color: var(--info);
487 }
488
489 .wpdm-stat-icon--danger {
490 background: var(--danger-light);
491 }
492 .wpdm-stat-icon--danger svg {
493 color: var(--danger);
494 }
495
496 .wpdm-stat-content {
497 display: flex;
498 flex-direction: column;
499 min-width: 0;
500 }
501
502 .wpdm-stat-label {
503 font-size: 12px;
504 font-weight: 500;
505 color: var(--text-muted);
506 margin-bottom: 2px;
507 }
508
509 .wpdm-stat-value {
510 font-size: 22px;
511 font-weight: 700;
512 color: var(--text-primary);
513 line-height: 1.2;
514 }
515
516 /* ==========================================================================
517 8. Cards
518 ========================================================================== */
519
520 .wpdm-card {
521 background: var(--content-bg);
522 border-radius: var(--radius-lg);
523 border: 1px solid var(--border-color);
524 overflow: hidden;
525 }
526
527 .wpdm-card + .wpdm-card {
528 margin-top: 20px;
529 }
530
531 .wpdm-card-header {
532 display: flex;
533 align-items: center;
534 justify-content: space-between;
535 padding: 16px 20px;
536 background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
537 border-bottom: 1px solid var(--border-color);
538 }
539
540 .wpdm-card-header h3 {
541 display: flex;
542 align-items: center;
543 gap: 10px;
544 font-size: 15px;
545 font-weight: 600;
546 color: var(--text-primary);
547 margin: 0;
548 }
549
550 .wpdm-card-header h3 svg {
551 width: 18px;
552 height: 18px;
553 color: var(--text-muted);
554 }
555
556 .wpdm-card-body {
557 padding: 20px;
558 }
559
560 .wpdm-card-footer {
561 padding: 14px 20px;
562 background: var(--border-light);
563 border-top: 1px solid var(--border-color);
564 }
565
566 .wpdm-card--action {
567 padding: 16px 20px;
568 display: flex;
569 justify-content: flex-end;
570 }
571
572 /* ==========================================================================
573 9. Tables
574 ========================================================================== */
575
576 .wpdm-table-wrap {
577 overflow-x: auto;
578 }
579
580 .wpdm-table-wrap .wpdm-table {
581 margin: 0 !important;
582 }
583
584 .wpdm-table {
585 width: 100%;
586 border-collapse: collapse;
587 }
588
589 .wpdm-table th {
590 padding: 12px 16px;
591 text-align: left;
592 font-size: 11px;
593 font-weight: 600;
594 text-transform: uppercase;
595 letter-spacing: 0.05em;
596 color: var(--text-muted);
597 background: var(--border-light);
598 border-bottom: 1px solid var(--border-color);
599 white-space: nowrap;
600 }
601
602 .wpdm-table td {
603 padding: 14px 16px;
604 font-size: 14px;
605 color: var(--text-secondary);
606 border-bottom: 1px solid var(--border-light);
607 vertical-align: middle;
608 }
609
610 .wpdm-table tbody tr:last-child td {
611 border-bottom: none;
612 }
613
614 .wpdm-table tbody tr:hover {
615 background: rgba(var(--accent-rgb), 0.02);
616 }
617
618 .wpdm-table-link {
619 color: var(--accent);
620 text-decoration: none;
621 font-weight: 500;
622 }
623
624 .wpdm-table-link:hover {
625 text-decoration: underline;
626 }
627
628 /* Responsive table */
629 .wpdm-hide-mobile {
630 display: table-cell;
631 }
632
633 @media (max-width: 768px) {
634 .wpdm-hide-mobile {
635 display: none;
636 }
637 }
638
639 /* ==========================================================================
640 10. Forms
641 ========================================================================== */
642
643 .wpdm-form-grid {
644 display: grid;
645 grid-template-columns: repeat(2, 1fr);
646 gap: 20px;
647 }
648
649 @media (max-width: 640px) {
650 .wpdm-form-grid {
651 grid-template-columns: 1fr;
652 }
653 }
654
655 .wpdm-form-group {
656 display: flex;
657 flex-direction: column;
658 }
659
660 .wpdm-form-group--full {
661 grid-column: 1 / -1;
662 }
663
664 .wpdm-form-group label {
665 font-size: 13px;
666 font-weight: 600;
667 color: var(--text-secondary);
668 margin-bottom: 6px;
669 }
670
671 .wpdm-input,
672 .wpdm-textarea,
673 .wpdm-select {
674 display: block;
675 width: 100%;
676 padding: 10px 14px;
677 font-size: 14px;
678 font-family: inherit;
679 color: var(--text-primary);
680 background: var(--content-bg);
681 border: 1px solid var(--border-color);
682 border-radius: var(--radius-md);
683 transition: all var(--transition-fast);
684 }
685
686 .wpdm-input:focus,
687 .wpdm-textarea:focus,
688 .wpdm-select:focus {
689 outline: none;
690 border-color: var(--accent);
691 box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.12);
692 }
693
694 .wpdm-input::placeholder,
695 .wpdm-textarea::placeholder {
696 color: var(--text-muted);
697 }
698
699 .wpdm-input--readonly {
700 background: var(--border-light);
701 color: var(--text-muted);
702 cursor: not-allowed;
703 }
704
705 .wpdm-textarea {
706 resize: vertical;
707 min-height: 100px;
708 }
709
710 .wpdm-required {
711 color: var(--danger);
712 margin-left: 2px;
713 }
714
715 .wpdm-help-text {
716 font-size: 12px;
717 color: var(--text-muted);
718 margin: 6px 0 0;
719 }
720
721 /* ==========================================================================
722 11. Buttons
723 ========================================================================== */
724
725 .wpdm-btn {
726 display: inline-flex;
727 align-items: center;
728 justify-content: center;
729 gap: 8px;
730 padding: 10px 18px;
731 font-size: 14px;
732 font-weight: 500;
733 font-family: inherit;
734 text-decoration: none;
735 border-radius: var(--radius-md);
736 border: 1px solid transparent;
737 cursor: pointer;
738 transition: all var(--transition-fast);
739 white-space: nowrap;
740 }
741
742 .wpdm-btn:focus {
743 outline: none;
744 box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.2);
745 }
746
747 .wpdm-btn--primary {
748 background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
749 color: #fff;
750 border-color: var(--accent);
751 box-shadow: 0 2px 8px rgba(var(--accent-rgb), 0.25);
752 }
753
754 .wpdm-btn--primary:hover {
755 background: linear-gradient(135deg, var(--accent-hover) 0%, #4338ca 100%);
756 transform: translateY(-1px);
757 box-shadow: 0 4px 12px rgba(var(--accent-rgb), 0.35);
758 color: #fff;
759 }
760
761 .wpdm-btn--secondary {
762 background: var(--content-bg);
763 color: var(--text-secondary);
764 border-color: var(--border-color);
765 }
766
767 .wpdm-btn--secondary:hover {
768 background: var(--border-light);
769 color: var(--text-primary);
770 }
771
772 .wpdm-btn--success {
773 background: var(--success);
774 color: #fff;
775 border-color: var(--success);
776 }
777
778 .wpdm-btn--success:hover {
779 background: #059669;
780 border-color: #059669;
781 }
782
783 .wpdm-btn--danger {
784 background: var(--content-bg);
785 color: var(--danger);
786 border-color: var(--danger-light);
787 }
788
789 .wpdm-btn--danger:hover {
790 background: var(--danger-light);
791 border-color: var(--danger);
792 }
793
794 .wpdm-btn--sm {
795 padding: 6px 12px;
796 font-size: 13px;
797 }
798
799 .wpdm-btn--lg {
800 padding: 14px 24px;
801 font-size: 15px;
802 }
803
804 .wpdm-btn svg {
805 width: 18px;
806 height: 18px;
807 }
808
809 .wpdm-btn--sm svg {
810 width: 16px;
811 height: 16px;
812 }
813
814 /* ==========================================================================
815 12. Badges
816 ========================================================================== */
817
818 .wpdm-badge {
819 display: inline-flex;
820 align-items: center;
821 padding: 4px 10px;
822 font-size: 12px;
823 font-weight: 500;
824 border-radius: 100px;
825 background: var(--border-light);
826 color: var(--text-secondary);
827 }
828
829 .wpdm-badge--primary {
830 background: var(--accent-light);
831 color: var(--accent);
832 }
833
834 .wpdm-badge--success {
835 background: var(--success-light);
836 color: #059669;
837 }
838
839 .wpdm-badge--warning {
840 background: var(--warning-light);
841 color: #d97706;
842 }
843
844 .wpdm-badge--danger {
845 background: var(--danger-light);
846 color: var(--danger);
847 }
848
849 .wpdm-badge--info {
850 background: var(--info-light);
851 color: #0284c7;
852 }
853
854 /* ==========================================================================
855 13. Alerts
856 ========================================================================== */
857
858 .wpdm-alert {
859 display: flex;
860 align-items: flex-start;
861 gap: 12px;
862 padding: 14px 16px;
863 border-radius: var(--radius-md);
864 font-size: 14px;
865 }
866
867 .wpdm-alert svg {
868 width: 18px;
869 height: 18px;
870 flex-shrink: 0;
871 margin-top: 1px;
872 }
873
874 .wpdm-alert--success {
875 background: var(--success-light);
876 color: #065f46;
877 }
878
879 .wpdm-alert--success svg {
880 color: var(--success);
881 }
882
883 .wpdm-alert--warning {
884 background: var(--warning-light);
885 color: #92400e;
886 }
887
888 .wpdm-alert--warning svg {
889 color: var(--warning);
890 }
891
892 .wpdm-alert--danger {
893 background: var(--danger-light);
894 color: #991b1b;
895 }
896
897 .wpdm-alert--danger svg {
898 color: var(--danger);
899 }
900
901 .wpdm-alert--info {
902 background: var(--info-light);
903 color: #075985;
904 }
905
906 .wpdm-alert--info svg {
907 color: var(--info);
908 }
909
910 /* ==========================================================================
911 14. Empty State
912 ========================================================================== */
913
914 .wpdm-empty-state {
915 text-align: center;
916 padding: 48px 24px;
917 }
918
919 .wpdm-empty-state svg {
920 width: 56px;
921 height: 56px;
922 color: var(--border-color);
923 margin-bottom: 16px;
924 }
925
926 .wpdm-empty-state h4 {
927 font-size: 16px;
928 font-weight: 600;
929 color: var(--text-primary);
930 margin: 0 0 6px;
931 }
932
933 .wpdm-empty-state p {
934 font-size: 14px;
935 color: var(--text-muted);
936 margin: 0;
937 }
938
939 .wpdm-empty-state--compact {
940 padding: 32px 20px;
941 }
942
943 .wpdm-empty-state--compact svg {
944 width: 40px;
945 height: 40px;
946 }
947
948 .wpdm-empty-state--compact h4 {
949 font-size: 14px;
950 }
951
952 .wpdm-empty-state--compact p {
953 font-size: 13px;
954 }
955
956 /* ==========================================================================
957 15. Recommended Grid
958 ========================================================================== */
959
960 .wpdm-recommended-grid {
961 display: grid;
962 grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
963 gap: 14px;
964 }
965
966 .wpdm-recommended-item {
967 display: flex;
968 flex-direction: column;
969 text-decoration: none;
970 border-radius: var(--radius-md);
971 overflow: hidden;
972 border: 1px solid var(--border-color);
973 background: var(--content-bg);
974 transition: all var(--transition-base);
975 }
976
977 .wpdm-recommended-item:hover {
978 border-color: rgba(var(--accent-rgb), 0.3);
979 box-shadow: 0 4px 16px rgba(var(--accent-rgb), 0.1);
980 transform: translateY(-2px);
981 }
982
983 .wpdm-recommended-thumb {
984 aspect-ratio: 4/3;
985 overflow: hidden;
986 background: var(--border-light);
987 }
988
989 .wpdm-recommended-img {
990 width: 100%;
991 height: 100%;
992 object-fit: cover;
993 transition: transform var(--transition-base);
994 }
995
996 .wpdm-recommended-item:hover .wpdm-recommended-img {
997 transform: scale(1.05);
998 }
999
1000 .wpdm-recommended-title {
1001 padding: 10px 12px;
1002 font-size: 13px;
1003 font-weight: 500;
1004 color: var(--text-primary);
1005 text-align: center;
1006 white-space: nowrap;
1007 overflow: hidden;
1008 text-overflow: ellipsis;
1009 }
1010
1011 /* ==========================================================================
1012 16. Pagination
1013 ========================================================================== */
1014
1015 .wpdm-pagination {
1016 display: flex;
1017 justify-content: center;
1018 align-items: center;
1019 gap: 4px;
1020 flex-wrap: wrap;
1021 }
1022
1023 .wpdm-pagination a,
1024 .wpdm-pagination span {
1025 display: inline-flex;
1026 align-items: center;
1027 justify-content: center;
1028 min-width: 34px;
1029 height: 34px;
1030 padding: 0 10px;
1031 font-size: 13px;
1032 font-weight: 500;
1033 color: var(--text-secondary);
1034 background: var(--content-bg);
1035 border: 1px solid var(--border-color);
1036 border-radius: var(--radius-sm);
1037 text-decoration: none;
1038 transition: all var(--transition-fast);
1039 }
1040
1041 .wpdm-pagination a:hover {
1042 background: var(--border-light);
1043 border-color: var(--text-muted);
1044 color: var(--text-primary);
1045 }
1046
1047 .wpdm-pagination .current {
1048 background: var(--accent);
1049 border-color: var(--accent);
1050 color: #fff;
1051 }
1052
1053 .wpdm-pagination .prev,
1054 .wpdm-pagination .next {
1055 padding: 0;
1056 min-width: 34px;
1057 }
1058
1059 .wpdm-pagination .dots {
1060 border: none;
1061 background: transparent;
1062 color: var(--text-muted);
1063 pointer-events: none;
1064 }
1065
1066 /* ==========================================================================
1067 17. Utility Classes
1068 ========================================================================== */
1069
1070 .wpdm-ip {
1071 font-family: var(--font-mono);
1072 font-size: 12px;
1073 background: var(--border-light);
1074 padding: 3px 8px;
1075 border-radius: var(--radius-sm);
1076 color: var(--text-secondary);
1077 }
1078
1079 .wpdm-date {
1080 color: var(--text-muted);
1081 font-size: 13px;
1082 }
1083
1084 .wpdm-price {
1085 font-weight: 600;
1086 color: var(--text-primary);
1087 }
1088
1089 .wpdm-product-cell {
1090 display: flex;
1091 flex-direction: column;
1092 gap: 4px;
1093 }
1094
1095 .wpdm-product-name {
1096 font-weight: 500;
1097 color: var(--text-primary);
1098 }
1099
1100 .wpdm-file-meta {
1101 display: inline-flex;
1102 align-items: center;
1103 gap: 6px;
1104 font-size: 12px;
1105 color: var(--text-muted);
1106 }
1107
1108 .wpdm-file-meta svg {
1109 width: 14px;
1110 height: 14px;
1111 }
1112
1113 .wpdm-mobile-meta {
1114 display: none;
1115 font-size: 12px;
1116 color: var(--text-muted);
1117 margin-top: 4px;
1118 }
1119
1120 @media (max-width: 768px) {
1121 .wpdm-mobile-meta {
1122 display: block;
1123 }
1124 }
1125
1126 /* Spin Animation */
1127 @keyframes wpdm-spin {
1128 from { transform: rotate(0deg); }
1129 to { transform: rotate(360deg); }
1130 }
1131
1132 .wpdm-spin {
1133 animation: wpdm-spin 1s linear infinite;
1134 }
1135
1136 /* ==========================================================================
1137 18. Avatar Upload
1138 ========================================================================== */
1139
1140 .wpdm-avatar-upload {
1141 display: flex;
1142 align-items: flex-start;
1143 gap: 24px;
1144 flex-wrap: wrap;
1145 }
1146
1147 .wpdm-avatar-preview {
1148 width: 100px;
1149 height: 100px;
1150 border-radius: var(--radius-lg);
1151 background: var(--border-light);
1152 display: flex;
1153 align-items: center;
1154 justify-content: center;
1155 overflow: hidden;
1156 border: 2px solid var(--content-bg);
1157 box-shadow: var(--shadow-md);
1158 flex-shrink: 0;
1159 }
1160
1161 .wpdm-avatar-preview img {
1162 width: 100%;
1163 height: 100%;
1164 object-fit: cover;
1165 }
1166
1167 .wpdm-avatar-preview svg {
1168 width: 40px;
1169 height: 40px;
1170 color: var(--text-muted);
1171 }
1172
1173 .wpdm-avatar-actions {
1174 display: flex;
1175 flex-direction: column;
1176 align-items: flex-start;
1177 gap: 10px;
1178 }
1179
1180 /* ==========================================================================
1181 19. Orders List
1182 ========================================================================== */
1183
1184 .wpdm-orders-stack {
1185 display: flex;
1186 flex-direction: column;
1187 gap: 12px;
1188 }
1189
1190 .wpdm-order-row {
1191 background: var(--content-bg);
1192 border: 1px solid var(--border-color);
1193 border-radius: var(--radius-md);
1194 overflow: hidden;
1195 transition: all var(--transition-base);
1196 }
1197
1198 .wpdm-order-row:hover {
1199 border-color: rgba(var(--accent-rgb), 0.3);
1200 box-shadow: var(--shadow-sm);
1201 }
1202
1203 .wpdm-order-row__header {
1204 display: flex;
1205 justify-content: space-between;
1206 align-items: center;
1207 padding: 14px 18px;
1208 border-bottom: 1px solid var(--border-light);
1209 background: var(--border-light);
1210 }
1211
1212 .wpdm-order-row__id {
1213 display: flex;
1214 align-items: center;
1215 gap: 8px;
1216 }
1217
1218 .wpdm-order-row__id-label {
1219 font-size: 13px;
1220 color: var(--text-muted);
1221 }
1222
1223 .wpdm-order-row__id-value {
1224 font-size: 14px;
1225 font-weight: 600;
1226 color: var(--text-primary);
1227 font-family: var(--font-mono);
1228 }
1229
1230 .wpdm-order-row__price {
1231 font-size: 16px;
1232 font-weight: 700;
1233 color: var(--text-primary);
1234 }
1235
1236 .wpdm-order-row__details {
1237 display: flex;
1238 flex-wrap: wrap;
1239 justify-content: space-between;
1240 align-items: center;
1241 gap: 14px;
1242 padding: 14px 18px;
1243 }
1244
1245 .wpdm-order-row__meta {
1246 display: flex;
1247 flex-wrap: wrap;
1248 align-items: center;
1249 gap: 18px;
1250 }
1251
1252 .wpdm-order-row__meta-item {
1253 display: flex;
1254 align-items: center;
1255 gap: 6px;
1256 font-size: 13px;
1257 color: var(--text-muted);
1258 }
1259
1260 .wpdm-order-row__meta-icon {
1261 width: 16px;
1262 height: 16px;
1263 color: var(--text-muted);
1264 }
1265
1266 .wpdm-order-row__meta-value {
1267 color: var(--text-secondary);
1268 font-weight: 500;
1269 }
1270
1271 .wpdm-order-status--active {
1272 color: var(--success);
1273 }
1274
1275 .wpdm-order-status--expired {
1276 color: var(--danger);
1277 }
1278
1279 .wpdm-order-status--pending {
1280 color: var(--warning);
1281 }
1282
1283 .wpdm-order-row__actions {
1284 display: flex;
1285 align-items: center;
1286 gap: 8px;
1287 }
1288
1289 .wpdm-order-row__btn {
1290 display: inline-flex;
1291 align-items: center;
1292 justify-content: center;
1293 gap: 6px;
1294 padding: 8px 14px;
1295 font-size: 13px;
1296 font-weight: 500;
1297 color: var(--accent);
1298 background: var(--accent-light);
1299 border: 1px solid transparent;
1300 border-radius: var(--radius-sm);
1301 text-decoration: none !important;
1302 transition: all var(--transition-fast);
1303 }
1304
1305 .wpdm-order-row__btn:hover {
1306 background: var(--accent);
1307 color: #fff !important;
1308 }
1309
1310 @media (max-width: 768px) {
1311 .wpdm-order-row__details {
1312 flex-direction: column;
1313 align-items: flex-start;
1314 }
1315
1316 .wpdm-order-row__meta {
1317 flex-direction: column;
1318 align-items: flex-start;
1319 gap: 8px;
1320 }
1321
1322 .wpdm-order-row__actions {
1323 width: 100%;
1324 padding-top: 12px;
1325 border-top: 1px solid var(--border-light);
1326 }
1327
1328 .wpdm-order-row__btn {
1329 flex: 1;
1330 justify-content: center;
1331 }
1332 }
1333
1334 /* ==========================================================================
1335 20. Theme Overrides
1336 ========================================================================== */
1337
1338 .wpdm-dashboard .form-control {
1339 padding: 10px 14px;
1340 font-size: 14px;
1341 border: 1px solid var(--border-color);
1342 border-radius: var(--radius-md);
1343 transition: all var(--transition-fast);
1344 }
1345
1346 .wpdm-dashboard .form-control:focus {
1347 border-color: var(--accent);
1348 box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.12);
1349 }
1350
1351 .wpdm-dashboard .input-group {
1352 display: flex;
1353 align-items: stretch;
1354 }
1355
1356 .wpdm-dashboard .input-group .form-control {
1357 flex: 1;
1358 border-radius: var(--radius-md) 0 0 var(--radius-md);
1359 }
1360
1361 .wpdm-dashboard .input-group .form-control:focus {
1362 z-index: 1;
1363 }
1364
1365 .wpdm-dashboard .input-group-append {
1366 display: flex;
1367 }
1368
1369 .wpdm-dashboard .input-group-append .btn {
1370 border-radius: 0 var(--radius-md) var(--radius-md) 0;
1371 border-left: 0;
1372 }
1373
1374 .wpdm-dashboard .input-group-lg .form-control {
1375 padding: 12px 16px;
1376 font-size: 15px;
1377 }
1378
1379 .wpdm-dashboard .input-group-lg .btn {
1380 padding: 12px 20px;
1381 font-size: 15px;
1382 }
1383
1384 .wpdm-dashboard .table {
1385 margin-bottom: 0;
1386 }
1387
1388 .wpdm-dashboard .table th {
1389 font-size: 11px;
1390 font-weight: 600;
1391 text-transform: uppercase;
1392 letter-spacing: 0.05em;
1393 color: var(--text-muted);
1394 background: var(--border-light);
1395 border-bottom: 1px solid var(--border-color);
1396 padding: 10px 14px;
1397 }
1398
1399 .wpdm-dashboard .table td {
1400 padding: 14px;
1401 vertical-align: middle;
1402 border-bottom: 1px solid var(--border-light);
1403 }
1404
1405 .wpdm-dashboard .table tbody tr:hover {
1406 background: rgba(var(--accent-rgb), 0.02);
1407 }
1408
1409 /* ==========================================================================
1410 21. Mobile Responsive
1411 ========================================================================== */
1412
1413 @media (max-width: 1024px) {
1414 .wpdm-dashboard-frame {
1415 border-radius: var(--radius-lg);
1416 }
1417
1418 .wpdm-sidebar {
1419 position: fixed;
1420 top: 0;
1421 left: 0;
1422 bottom: 0;
1423 z-index: 1000;
1424 transform: translateX(-100%);
1425 transition: transform var(--transition-base);
1426 border-radius: 0;
1427 }
1428
1429 .wpdm-sidebar.open {
1430 transform: translateX(0);
1431 }
1432
1433 .wpdm-mobile-toggle {
1434 display: flex;
1435 }
1436
1437 .wpdm-overlay {
1438 display: block;
1439 pointer-events: none;
1440 }
1441
1442 .wpdm-overlay.visible {
1443 pointer-events: auto;
1444 }
1445
1446 .wpdm-main-inner {
1447 padding: 16px;
1448 }
1449 }
1450
1451 @media (max-width: 640px) {
1452 .wpdm-dashboard-frame {
1453 border-radius: var(--radius-md);
1454 }
1455
1456 .wpdm-card-header,
1457 .wpdm-card-body,
1458 .wpdm-card-footer {
1459 padding: 14px 16px;
1460 }
1461
1462 .wpdm-stat-card {
1463 padding: 14px;
1464 }
1465
1466 .wpdm-stat-value {
1467 font-size: 20px;
1468 }
1469 }
1470
1471 /* ==========================================================================
1472 22. Edit Profile Specific
1473 ========================================================================== */
1474
1475 #edit-profile-form .card,
1476 #edit-profile-form .wpdm-card {
1477 margin-bottom: 20px;
1478 }
1479
1480 .wpdm-dashboard .card-body .row {
1481 display: flex;
1482 flex-wrap: wrap;
1483 margin: 0 -10px;
1484 }
1485
1486 .wpdm-dashboard .card-body .form-group {
1487 padding: 0 10px;
1488 margin-bottom: 16px;
1489 }
1490
1491 .wpdm-dashboard .card-body .col-md-6 {
1492 flex: 0 0 50%;
1493 max-width: 50%;
1494 }
1495
1496 @media (max-width: 767px) {
1497 .wpdm-dashboard .card-body .col-md-6 {
1498 flex: 0 0 100%;
1499 max-width: 100%;
1500 }
1501 }
1502
1503 .wpdm-dashboard .card-body label {
1504 display: block;
1505 font-size: 13px;
1506 font-weight: 600;
1507 color: var(--text-secondary);
1508 margin-bottom: 6px;
1509 }
1510
1511 .wpdm-dashboard .card-body select.form-control {
1512 appearance: none;
1513 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
1514 background-repeat: no-repeat;
1515 background-position: right 10px center;
1516 background-size: 16px;
1517 padding-right: 36px;
1518 }
1519
1520 /* ==========================================================================
1521 23. DropZone Page
1522 ========================================================================== */
1523
1524 /* DropZone Layout */
1525 .wpdm-dashboard .container {
1526 max-width: 100%;
1527 padding: 0;
1528 }
1529
1530 .wpdm-dashboard .container > .row {
1531 display: flex;
1532 gap: 24px;
1533 margin: 0;
1534 }
1535
1536 .wpdm-dashboard .container > .row:not(.dz-stats-row) > .col-md-8,
1537 .wpdm-dashboard .container > .row:not(.dz-stats-row) > .col-md-4 {
1538 padding: 0;
1539 }
1540
1541 .wpdm-dashboard .container > .row:not(.dz-stats-row) > .col-md-8 {
1542 flex: 1;
1543 max-width: none;
1544 }
1545
1546 .wpdm-dashboard .container > .row:not(.dz-stats-row) > .col-md-4 {
1547 flex: 0 0 320px;
1548 max-width: 320px;
1549 }
1550
1551 /* Feature Cards (Stats) - 3 Column Layout */
1552 .wpdm-dashboard .dz-stats-row,
1553 .w3eden .dz-stats-row {
1554 display: grid !important;
1555 grid-template-columns: repeat(3, 1fr);
1556 gap: 16px;
1557 margin: 0 0 16px 0 !important;
1558 margin-left: 0 !important;
1559 margin-right: 0 !important;
1560 width: 100% !important;
1561 }
1562
1563 .wpdm-dashboard .dz-stats-row > div,
1564 .wpdm-dashboard .dz-stats-row > .col-md-4,
1565 .wpdm-dashboard .dz-stats-row > [class*="col-"],
1566 .w3eden .dz-stats-row > div,
1567 .w3eden .dz-stats-row > .col-md-4,
1568 .w3eden .dz-stats-row > [class*="col-"] {
1569 padding: 0 !important;
1570 max-width: none !important;
1571 width: auto !important;
1572 flex: unset !important;
1573 flex-basis: auto !important;
1574 min-width: 0 !important;
1575 }
1576
1577 .wpdm-dashboard .feature-card,
1578 .w3eden .dz-stats-row .feature-card {
1579 border: 1px solid var(--border-color) !important;
1580 background: var(--content-bg) !important;
1581 box-shadow: var(--shadow-sm) !important;
1582 border-radius: var(--radius-md) !important;
1583 transition: all var(--transition-fast);
1584 margin-bottom: 0 !important;
1585 height: 100%;
1586 width: 100% !important;
1587 overflow: visible !important;
1588 }
1589
1590 .wpdm-dashboard .feature-card:hover,
1591 .w3eden .dz-stats-row .feature-card:hover {
1592 box-shadow: var(--shadow-md) !important;
1593 transform: translateY(-2px);
1594 }
1595
1596 .wpdm-dashboard .feature-card .card-body,
1597 .w3eden .dz-stats-row .feature-card .card-body {
1598 padding: 16px !important;
1599 height: 100%;
1600 display: flex;
1601 align-items: center;
1602 overflow: visible !important;
1603 }
1604
1605 .wpdm-dashboard .feature-card .media,
1606 .w3eden .dz-stats-row .feature-card .media {
1607 width: 100%;
1608 overflow: visible !important;
1609 }
1610
1611 .wpdm-dashboard .feature-card .media-body,
1612 .w3eden .dz-stats-row .feature-card .media-body {
1613 overflow: visible !important;
1614 }
1615
1616 .wpdm-dashboard .feature-card .icn,
1617 .w3eden .dz-stats-row .feature-card .icn {
1618 width: 48px;
1619 height: 48px;
1620 display: flex;
1621 align-items: center;
1622 justify-content: center;
1623 font-size: 20px !important;
1624 padding: 0 !important;
1625 background: linear-gradient(135deg, var(--accent, var(--color-info)) 0%, var(--accent-hover, var(--color-info-active)) 100%) !important;
1626 border-radius: var(--radius-md, 8px) !important;
1627 box-shadow: 0 4px 12px rgba(var(--accent-rgb, var(--color-info-rgb)), 0.25);
1628 }
1629
1630 .wpdm-dashboard .feature-card .nt,
1631 .w3eden .dz-stats-row .feature-card .nt {
1632 font-size: 11px !important;
1633 font-weight: 600;
1634 color: var(--text-muted, #64748b) !important;
1635 text-transform: uppercase;
1636 letter-spacing: 0.05em;
1637 }
1638
1639 .wpdm-dashboard .feature-card h3,
1640 .w3eden .dz-stats-row .feature-card h3 {
1641 font-size: 20px !important;
1642 font-weight: 700 !important;
1643 color: var(--text-primary, #1e293b) !important;
1644 margin: 2px 0 0 0 !important;
1645 }
1646
1647 /* Upload Card */
1648 .wpdm-dashboard .feature-card.upload-card,
1649 .w3eden .dz-stats-row .feature-card.upload-card {
1650 transition: all 0.2s ease;
1651 height: 100%;
1652 min-height: 100%;
1653 }
1654
1655 .wpdm-dashboard .feature-card.upload-card .card-body,
1656 .w3eden .dz-stats-row .feature-card.upload-card .card-body {
1657 height: 100%;
1658 display: flex;
1659 align-items: center;
1660 justify-content: center;
1661 }
1662
1663 .wpdm-dashboard .feature-card.upload-card .media,
1664 .w3eden .dz-stats-row .feature-card.upload-card .media {
1665 width: auto;
1666 align-items: center;
1667 justify-content: center;
1668 }
1669
1670 .wpdm-dashboard .feature-card.upload-card:hover,
1671 .w3eden .dz-stats-row .feature-card.upload-card:hover {
1672 border-color: var(--color-success, #10b981) !important;
1673 box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15) !important;
1674 }
1675
1676 .wpdm-dashboard .feature-card.upload-card .icn-upload,
1677 .w3eden .dz-stats-row .feature-card.upload-card .icn-upload {
1678 background: none !important;
1679 box-shadow: none !important;
1680 width: auto !important;
1681 height: auto !important;
1682 padding: 0 !important;
1683 font-size: 24px !important;
1684 color: #10b981 !important;
1685 }
1686
1687 .wpdm-dashboard .feature-card.upload-card .upload-label,
1688 .w3eden .dz-stats-row .feature-card.upload-card .upload-label {
1689 font-size: 13px !important;
1690 font-weight: 700;
1691 color: #10b981 !important;
1692 text-transform: uppercase;
1693 letter-spacing: 0.05em;
1694 }
1695
1696 @media (max-width: 991px) {
1697 .wpdm-dashboard .dz-stats-row,
1698 .w3eden .dz-stats-row {
1699 grid-template-columns: repeat(2, 1fr);
1700 }
1701
1702 .wpdm-dashboard .dz-stats-row > div:last-child,
1703 .w3eden .dz-stats-row > div:last-child {
1704 grid-column: span 2;
1705 }
1706 }
1707
1708 @media (max-width: 640px) {
1709 .wpdm-dashboard .dz-stats-row,
1710 .w3eden .dz-stats-row {
1711 grid-template-columns: 1fr;
1712 }
1713
1714 .wpdm-dashboard .dz-stats-row > div:last-child,
1715 .w3eden .dz-stats-row > div:last-child {
1716 grid-column: auto;
1717 }
1718 }
1719
1720 /* File List */
1721 .wpdm-dashboard #__myfiles {
1722 margin-top: 16px !important;
1723 }
1724
1725 .wpdm-dashboard #__myfiles .card {
1726 background: var(--content-bg);
1727 border: 1px solid var(--border-color) !important;
1728 border-radius: var(--radius-md) !important;
1729 padding: 14px 16px !important;
1730 margin-bottom: 8px !important;
1731 transition: all var(--transition-fast);
1732 }
1733
1734 .wpdm-dashboard #__myfiles .card:hover {
1735 border-color: var(--accent) !important;
1736 box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.08) !important;
1737 }
1738
1739 .wpdm-dashboard #__myfiles .card .media {
1740 display: flex;
1741 align-items: center;
1742 gap: 14px;
1743 }
1744
1745 .wpdm-dashboard #__myfiles .card .media img {
1746 width: 44px !important;
1747 min-width: 44px !important;
1748 height: 44px;
1749 object-fit: contain;
1750 padding: 8px;
1751 background: var(--main-bg);
1752 border-radius: var(--radius-sm);
1753 }
1754
1755 .wpdm-dashboard #__myfiles .filet {
1756 font-size: 14px;
1757 font-weight: 600;
1758 color: var(--text-primary);
1759 margin-bottom: 4px;
1760 }
1761
1762 .wpdm-dashboard #__myfiles .text-small {
1763 font-size: 12px !important;
1764 color: var(--text-muted) !important;
1765 }
1766
1767 .wpdm-dashboard #__myfiles .text-small i {
1768 opacity: 0.6;
1769 }
1770
1771 /* File Action Buttons */
1772 .wpdm-dashboard #__myfiles ._fsettings {
1773 display: flex !important;
1774 gap: 6px;
1775 width: auto !important;
1776 height: auto !important;
1777 opacity: 0;
1778 transition: all var(--transition-fast);
1779 }
1780
1781 .wpdm-dashboard #__myfiles .card:hover ._fsettings {
1782 opacity: 1;
1783 }
1784
1785 .wpdm-dashboard #__myfiles ._fsettings .btn {
1786 width: 34px;
1787 height: 34px;
1788 padding: 0 !important;
1789 display: flex;
1790 align-items: center;
1791 justify-content: center;
1792 border-radius: var(--radius-sm) !important;
1793 font-size: 13px;
1794 }
1795
1796 .wpdm-dashboard #__myfiles ._fsettings .btn-secondary {
1797 background: var(--main-bg);
1798 border-color: var(--border-color);
1799 color: var(--text-secondary);
1800 }
1801
1802 .wpdm-dashboard #__myfiles ._fsettings .btn-secondary:hover {
1803 background: var(--accent-light);
1804 border-color: var(--accent);
1805 color: var(--accent);
1806 }
1807
1808 .wpdm-dashboard #__myfiles ._fsettings .btn-info {
1809 background: rgba(14, 165, 233, 0.1);
1810 border-color: transparent;
1811 color: #0ea5e9;
1812 }
1813
1814 .wpdm-dashboard #__myfiles ._fsettings .btn-info:hover {
1815 background: #0ea5e9;
1816 color: #fff;
1817 }
1818
1819 .wpdm-dashboard #__myfiles ._fsettings .btn-primary {
1820 background: rgba(var(--accent-rgb), 0.1);
1821 border-color: transparent;
1822 color: var(--accent);
1823 }
1824
1825 .wpdm-dashboard #__myfiles ._fsettings .btn-primary:hover {
1826 background: var(--accent);
1827 color: #fff;
1828 }
1829
1830 .wpdm-dashboard #__myfiles ._fsettings .btn-danger {
1831 background: rgba(239, 68, 68, 0.1);
1832 border-color: transparent;
1833 color: #ef4444;
1834 }
1835
1836 .wpdm-dashboard #__myfiles ._fsettings .btn-danger:hover {
1837 background: #ef4444;
1838 color: #fff;
1839 }
1840
1841 /* Dropzone Upload Area */
1842 .wpdm-dashboard #drag-drop-area {
1843 border: 2px dashed var(--border-color) !important;
1844 background: var(--content-bg) !important;
1845 border-radius: var(--radius-lg) !important;
1846 transition: all var(--transition-fast);
1847 }
1848
1849 .wpdm-dashboard .drag-drop.drag-over #drag-drop-area,
1850 .wpdm-dashboard #drag-drop-area:hover {
1851 border-color: var(--accent) !important;
1852 background: rgba(var(--accent-rgb), 0.04) !important;
1853 }
1854
1855 .wpdm-dashboard #drag-drop-area .drag-drop-inside {
1856 padding: 60px 20px !important;
1857 text-align: center;
1858 }
1859
1860 .wpdm-dashboard #drag-drop-area .fa-arrow-up-from-bracket {
1861 font-size: 40px !important;
1862 color: var(--accent);
1863 opacity: 0.6;
1864 margin-bottom: 16px;
1865 }
1866
1867 .wpdm-dashboard #drag-drop-area .drag-drop-info {
1868 font-size: 15px;
1869 font-weight: 500;
1870 color: var(--text-secondary);
1871 }
1872
1873 .wpdm-dashboard #drag-drop-area p {
1874 color: var(--text-muted);
1875 margin-bottom: 16px;
1876 }
1877
1878 .wpdm-dashboard #plupload-browse-button {
1879 padding: 12px 28px !important;
1880 font-size: 14px !important;
1881 font-weight: 600 !important;
1882 border-radius: var(--radius-md) !important;
1883 background: var(--accent) !important;
1884 border-color: var(--accent) !important;
1885 box-shadow: 0 4px 12px rgba(var(--accent-rgb), 0.3);
1886 transition: all var(--transition-fast);
1887 }
1888
1889 .wpdm-dashboard #plupload-browse-button:hover {
1890 background: var(--accent-hover) !important;
1891 border-color: var(--accent-hover) !important;
1892 transform: translateY(-1px);
1893 box-shadow: 0 6px 16px rgba(var(--accent-rgb), 0.4);
1894 }
1895
1896 /* Upload Progress */
1897 .wpdm-dashboard #filelist .card {
1898 border-radius: var(--radius-md) !important;
1899 overflow: hidden;
1900 }
1901
1902 .wpdm-dashboard #filelist .card-header {
1903 background: var(--main-bg);
1904 font-size: 13px;
1905 padding: 10px 14px !important;
1906 }
1907
1908 .wpdm-dashboard #filelist .progress {
1909 height: 6px;
1910 border-radius: 3px;
1911 background: var(--border-light);
1912 }
1913
1914 .wpdm-dashboard #filelist .progress-bar {
1915 height: 6px !important;
1916 background: linear-gradient(90deg, var(--accent) 0%, var(--accent-hover) 100%) !important;
1917 border-radius: 3px;
1918 }
1919
1920 /* No Files State */
1921 .wpdm-dashboard #__nofiles {
1922 background: var(--content-bg) !important;
1923 border: 2px dashed var(--border-color) !important;
1924 border-radius: var(--radius-lg) !important;
1925 color: var(--text-muted);
1926 font-size: 15px;
1927 }
1928
1929 /* Responsive */
1930 @media (max-width: 991px) {
1931 .wpdm-dashboard .container > .row:not(.dz-stats-row) {
1932 flex-direction: column;
1933 }
1934
1935 .wpdm-dashboard .container > .row:not(.dz-stats-row) > .col-md-4 {
1936 flex: none;
1937 max-width: 100%;
1938 order: -1;
1939 margin-bottom: 20px;
1940 }
1941
1942 .wpdm-dashboard #drag-drop-area .drag-drop-inside {
1943 padding: 40px 20px !important;
1944 }
1945 }
1946
1947 /* ==========================================================================
1948 24. Dark Mode
1949 Note: .w3eden and .wpdm-dashboard are on the SAME element
1950 (<div class="w3eden wpdm-dashboard dark-mode">)
1951 so selectors must NOT use descendant combinator between them.
1952 ========================================================================== */
1953
1954 .wpdm-dashboard.dark-mode {
1955 --main-bg: #0f172a;
1956 --content-bg: #1e293b;
1957 --border-color: rgba(255, 255, 255, 0.1);
1958 --border-light: rgba(255, 255, 255, 0.06);
1959 --text-primary: #f1f5f9;
1960 --text-secondary: #cbd5e1;
1961 --text-muted: #94a3b8;
1962 --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
1963 --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
1964 --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.4);
1965 --shadow-glow: 0 0 40px rgba(0, 0, 0, 0.3);
1966 --sidebar-bg: #0c1222;
1967 }
1968
1969 .wpdm-dashboard.dark-mode .wpdm-dashboard-frame {
1970 background: var(--content-bg);
1971 border-color: var(--border-color);
1972 }
1973
1974 .wpdm-dashboard.dark-mode .wpdm-card-header {
1975 background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%);
1976 }
1977
1978 .wpdm-dashboard.dark-mode .wpdm-input,
1979 .wpdm-dashboard.dark-mode .wpdm-textarea,
1980 .wpdm-dashboard.dark-mode .wpdm-select,
1981 .wpdm-dashboard.dark-mode .form-control {
1982 background: #0f172a;
1983 color: #f1f5f9;
1984 border-color: rgba(255, 255, 255, 0.12);
1985 }
1986
1987 .wpdm-dashboard.dark-mode .wpdm-input--readonly {
1988 background: rgba(255, 255, 255, 0.05);
1989 color: #94a3b8;
1990 }
1991
1992 .wpdm-dashboard.dark-mode .wpdm-ip {
1993 background: rgba(255, 255, 255, 0.08);
1994 color: #cbd5e1;
1995 }
1996
1997 .wpdm-dashboard.dark-mode .wpdm-badge {
1998 background: rgba(255, 255, 255, 0.08);
1999 color: #cbd5e1;
2000 }
2001
2002 .wpdm-dashboard.dark-mode .wpdm-badge--success { color: #34d399; }
2003 .wpdm-dashboard.dark-mode .wpdm-badge--warning { color: #fbbf24; }
2004 .wpdm-dashboard.dark-mode .wpdm-badge--danger { color: #f87171; }
2005 .wpdm-dashboard.dark-mode .wpdm-badge--info { color: #38bdf8; }
2006
2007 .wpdm-dashboard.dark-mode .wpdm-alert--success { background: rgba(16, 185, 129, 0.12); color: #a7f3d0; }
2008 .wpdm-dashboard.dark-mode .wpdm-alert--warning { background: rgba(245, 158, 11, 0.12); color: #fde68a; }
2009 .wpdm-dashboard.dark-mode .wpdm-alert--danger { background: rgba(239, 68, 68, 0.12); color: #fecaca; }
2010 .wpdm-dashboard.dark-mode .wpdm-alert--info { background: rgba(14, 165, 233, 0.12); color: #bae6fd; }
2011
2012 .wpdm-dashboard.dark-mode .wpdm-btn--secondary {
2013 background: rgba(255, 255, 255, 0.06);
2014 border-color: rgba(255, 255, 255, 0.12);
2015 color: #cbd5e1;
2016 }
2017
2018 .wpdm-dashboard.dark-mode .wpdm-btn--secondary:hover {
2019 background: rgba(255, 255, 255, 0.1);
2020 color: #f1f5f9;
2021 }
2022
2023 .wpdm-dashboard.dark-mode .wpdm-btn--danger {
2024 background: rgba(239, 68, 68, 0.1);
2025 border-color: rgba(239, 68, 68, 0.2);
2026 }
2027
2028 .wpdm-dashboard.dark-mode .wpdm-pagination a,
2029 .wpdm-dashboard.dark-mode .wpdm-pagination span {
2030 background: var(--content-bg);
2031 border-color: rgba(255, 255, 255, 0.1);
2032 color: #cbd5e1;
2033 }
2034
2035 .wpdm-dashboard.dark-mode .wpdm-pagination a:hover {
2036 background: rgba(255, 255, 255, 0.08);
2037 color: #f1f5f9;
2038 }
2039
2040 .wpdm-dashboard.dark-mode .wpdm-pagination .dots {
2041 background: transparent;
2042 }
2043
2044 .wpdm-dashboard.dark-mode .wpdm-user-status {
2045 border-color: #0c1222;
2046 }
2047
2048 .wpdm-dashboard.dark-mode .card-body select.form-control {
2049 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
2050 }
2051
2052 .wpdm-dashboard.dark-mode .wpdm-empty-state svg {
2053 color: rgba(255, 255, 255, 0.15);
2054 }
2055
2056 .wpdm-dashboard.dark-mode .wpdm-overlay {
2057 background: rgba(0, 0, 0, 0.75);
2058 }
2059
2060 .wpdm-dashboard.dark-mode .feature-card,
2061 .wpdm-dashboard.dark-mode .dz-stats-row .feature-card {
2062 background: var(--content-bg) !important;
2063 border-color: rgba(255, 255, 255, 0.1) !important;
2064 }
2065
2066 .wpdm-dashboard.dark-mode #__myfiles .card {
2067 background: var(--content-bg);
2068 border-color: rgba(255, 255, 255, 0.1) !important;
2069 }
2070
2071 .wpdm-dashboard.dark-mode #__myfiles .card img {
2072 background: #0f172a;
2073 }
2074
2075 .wpdm-dashboard.dark-mode #__myfiles ._fsettings .btn-secondary {
2076 background: rgba(255, 255, 255, 0.06);
2077 border-color: rgba(255, 255, 255, 0.12);
2078 color: #cbd5e1;
2079 }
2080
2081 .wpdm-dashboard.dark-mode #drag-drop-area {
2082 border-color: rgba(255, 255, 255, 0.12) !important;
2083 background: var(--content-bg) !important;
2084 }
2085
2086 .wpdm-dashboard.dark-mode #__nofiles {
2087 background: var(--content-bg) !important;
2088 border-color: rgba(255, 255, 255, 0.12) !important;
2089 color: #94a3b8;
2090 }
2091
2092 .wpdm-dashboard.dark-mode #filelist .card-header {
2093 background: #0f172a;
2094 }
2095
2096 .wpdm-dashboard.dark-mode #filelist .progress {
2097 background: rgba(255, 255, 255, 0.06);
2098 }
2099
2100 .wpdm-dashboard.dark-mode .wpdm-recommended-thumb {
2101 background: rgba(255, 255, 255, 0.05);
2102 }
2103
2104 .wpdm-dashboard.dark-mode .wpdm-order-row__header {
2105 background: rgba(255, 255, 255, 0.04);
2106 }
2107
2108 /* System preference dark mode */
2109 @media (prefers-color-scheme: dark) {
2110 .wpdm-dashboard:not(.light-mode) {
2111 --main-bg: #0f172a;
2112 --content-bg: #1e293b;
2113 --border-color: rgba(255, 255, 255, 0.1);
2114 --border-light: rgba(255, 255, 255, 0.06);
2115 --text-primary: #f1f5f9;
2116 --text-secondary: #cbd5e1;
2117 --text-muted: #94a3b8;
2118 --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
2119 --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
2120 --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.4);
2121 --shadow-glow: 0 0 40px rgba(0, 0, 0, 0.3);
2122 --sidebar-bg: #0c1222;
2123 }
2124
2125 .wpdm-dashboard:not(.light-mode) .wpdm-dashboard-frame {
2126 background: var(--content-bg);
2127 border-color: var(--border-color);
2128 }
2129
2130 .wpdm-dashboard:not(.light-mode) .wpdm-card-header {
2131 background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%);
2132 }
2133
2134 .wpdm-dashboard:not(.light-mode) .wpdm-input,
2135 .wpdm-dashboard:not(.light-mode) .wpdm-textarea,
2136 .wpdm-dashboard:not(.light-mode) .wpdm-select,
2137 .wpdm-dashboard:not(.light-mode) .form-control {
2138 background: #0f172a;
2139 color: #f1f5f9;
2140 border-color: rgba(255, 255, 255, 0.12);
2141 }
2142
2143 .wpdm-dashboard:not(.light-mode) .wpdm-input--readonly {
2144 background: rgba(255, 255, 255, 0.05);
2145 color: #94a3b8;
2146 }
2147
2148 .wpdm-dashboard:not(.light-mode) .wpdm-ip {
2149 background: rgba(255, 255, 255, 0.08);
2150 color: #cbd5e1;
2151 }
2152
2153 .wpdm-dashboard:not(.light-mode) .wpdm-badge {
2154 background: rgba(255, 255, 255, 0.08);
2155 color: #cbd5e1;
2156 }
2157
2158 .wpdm-dashboard:not(.light-mode) .wpdm-badge--success { color: #34d399; }
2159 .wpdm-dashboard:not(.light-mode) .wpdm-badge--warning { color: #fbbf24; }
2160 .wpdm-dashboard:not(.light-mode) .wpdm-badge--danger { color: #f87171; }
2161 .wpdm-dashboard:not(.light-mode) .wpdm-badge--info { color: #38bdf8; }
2162
2163 .wpdm-dashboard:not(.light-mode) .wpdm-alert--success { background: rgba(16, 185, 129, 0.12); color: #a7f3d0; }
2164 .wpdm-dashboard:not(.light-mode) .wpdm-alert--warning { background: rgba(245, 158, 11, 0.12); color: #fde68a; }
2165 .wpdm-dashboard:not(.light-mode) .wpdm-alert--danger { background: rgba(239, 68, 68, 0.12); color: #fecaca; }
2166 .wpdm-dashboard:not(.light-mode) .wpdm-alert--info { background: rgba(14, 165, 233, 0.12); color: #bae6fd; }
2167
2168 .wpdm-dashboard:not(.light-mode) .wpdm-btn--secondary {
2169 background: rgba(255, 255, 255, 0.06);
2170 border-color: rgba(255, 255, 255, 0.12);
2171 color: #cbd5e1;
2172 }
2173
2174 .wpdm-dashboard:not(.light-mode) .wpdm-btn--secondary:hover {
2175 background: rgba(255, 255, 255, 0.1);
2176 color: #f1f5f9;
2177 }
2178
2179 .wpdm-dashboard:not(.light-mode) .wpdm-btn--danger {
2180 background: rgba(239, 68, 68, 0.1);
2181 border-color: rgba(239, 68, 68, 0.2);
2182 }
2183
2184 .wpdm-dashboard:not(.light-mode) .wpdm-pagination a,
2185 .wpdm-dashboard:not(.light-mode) .wpdm-pagination span {
2186 background: var(--content-bg);
2187 border-color: rgba(255, 255, 255, 0.1);
2188 color: #cbd5e1;
2189 }
2190
2191 .wpdm-dashboard:not(.light-mode) .wpdm-pagination a:hover {
2192 background: rgba(255, 255, 255, 0.08);
2193 color: #f1f5f9;
2194 }
2195
2196 .wpdm-dashboard:not(.light-mode) .wpdm-pagination .dots {
2197 background: transparent;
2198 }
2199
2200 .wpdm-dashboard:not(.light-mode) .wpdm-user-status {
2201 border-color: #0c1222;
2202 }
2203
2204 .wpdm-dashboard:not(.light-mode) .card-body select.form-control {
2205 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
2206 }
2207
2208 .wpdm-dashboard:not(.light-mode) .wpdm-empty-state svg {
2209 color: rgba(255, 255, 255, 0.15);
2210 }
2211
2212 .wpdm-dashboard:not(.light-mode) .wpdm-overlay {
2213 background: rgba(0, 0, 0, 0.75);
2214 }
2215
2216 .wpdm-dashboard:not(.light-mode) .feature-card,
2217 .wpdm-dashboard:not(.light-mode) .dz-stats-row .feature-card {
2218 background: var(--content-bg) !important;
2219 border-color: rgba(255, 255, 255, 0.1) !important;
2220 }
2221
2222 .wpdm-dashboard:not(.light-mode) #__myfiles .card {
2223 background: var(--content-bg);
2224 border-color: rgba(255, 255, 255, 0.1) !important;
2225 }
2226
2227 .wpdm-dashboard:not(.light-mode) #__myfiles .card img {
2228 background: #0f172a;
2229 }
2230
2231 .wpdm-dashboard:not(.light-mode) #__myfiles ._fsettings .btn-secondary {
2232 background: rgba(255, 255, 255, 0.06);
2233 border-color: rgba(255, 255, 255, 0.12);
2234 color: #cbd5e1;
2235 }
2236
2237 .wpdm-dashboard:not(.light-mode) #drag-drop-area {
2238 border-color: rgba(255, 255, 255, 0.12) !important;
2239 background: var(--content-bg) !important;
2240 }
2241
2242 .wpdm-dashboard:not(.light-mode) #__nofiles {
2243 background: var(--content-bg) !important;
2244 border-color: rgba(255, 255, 255, 0.12) !important;
2245 color: #94a3b8;
2246 }
2247
2248 .wpdm-dashboard:not(.light-mode) #filelist .card-header {
2249 background: #0f172a;
2250 }
2251
2252 .wpdm-dashboard:not(.light-mode) #filelist .progress {
2253 background: rgba(255, 255, 255, 0.06);
2254 }
2255
2256 .wpdm-dashboard:not(.light-mode) .wpdm-recommended-thumb {
2257 background: rgba(255, 255, 255, 0.05);
2258 }
2259
2260 .wpdm-dashboard:not(.light-mode) .wpdm-order-row__header {
2261 background: rgba(255, 255, 255, 0.04);
2262 }
2263 }
2264