HerzaJ commited on
Commit
d87147e
·
verified ·
1 Parent(s): 084c2de

Update public/styles.css

Browse files
Files changed (1) hide show
  1. public/styles.css +794 -801
public/styles.css CHANGED
@@ -56,255 +56,6 @@ body {
56
  font-size: var(--font-size-base);
57
  }
58
 
59
- .plugins-search {
60
- margin-bottom: 2rem;
61
- }
62
-
63
- .search-container {
64
- position: relative;
65
- max-width: 500px;
66
- margin: 0 auto;
67
- }
68
-
69
- .search-container i.fa-search {
70
- position: absolute;
71
- left: 1rem;
72
- top: 50%;
73
- transform: translateY(-50%);
74
- color: #8D96FF;
75
- z-index: 1;
76
- }
77
-
78
- .tag-section {
79
- margin-bottom: 2rem;
80
- background: rgba(255, 255, 255, 0.03);
81
- backdrop-filter: blur(5px);
82
- border-radius: 16px;
83
- border: 1px solid rgba(0, 0, 0, 0.4);
84
- overflow: hidden;
85
- transition: all 0.3s ease;
86
- }
87
-
88
- .tag-section:hover {
89
- background: rgba(255, 255, 255, 0.05);
90
- border: 1px solid rgba(0, 0, 0, 0.5);
91
- }
92
-
93
- .tag-header {
94
- padding: 1.5rem;
95
- cursor: pointer;
96
- display: flex;
97
- justify-content: space-between;
98
- align-items: center;
99
- transition: all 0.3s ease;
100
- background: rgba(255, 255, 255, 0.02);
101
- }
102
-
103
- .tag-header:hover {
104
- background: rgba(255, 255, 255, 0.05);
105
- }
106
-
107
- .tag-title {
108
- display: flex;
109
- align-items: center;
110
- gap: 1rem;
111
- font-size: 1.2rem;
112
- font-weight: 600;
113
- color: rgba(255, 255, 255, 0.9);
114
- }
115
-
116
- .tag-title i {
117
- color: rgba(133, 48, 48, 0.9);
118
- font-size: 1.3rem;
119
- }
120
-
121
- .plugin-count {
122
- background: rgba(133, 48, 48, 0.2);
123
- color: rgba(255, 168, 168, 0.9);
124
- padding: 0.3rem 0.8rem;
125
- border-radius: 12px;
126
- font-size: 0.85rem;
127
- font-weight: 500;
128
- }
129
-
130
- .tag-expand {
131
- color: rgba(255, 255, 255, 0.6);
132
- font-size: 1.2rem;
133
- transition: transform 0.3s ease;
134
- }
135
-
136
- .tag-expand.expanded {
137
- transform: rotate(180deg);
138
- }
139
-
140
- .tag-content {
141
- max-height: 0;
142
- overflow: hidden;
143
- transition: max-height 0.4s ease;
144
- padding: 0 1.5rem;
145
- }
146
-
147
- .tag-content.expanded {
148
- max-height: 10000px;
149
- padding: 1.5rem;
150
- }
151
-
152
- .tag-content .plugin-card {
153
- margin-bottom: 1rem;
154
- }
155
-
156
- .tag-content .plugin-card:last-child {
157
- margin-bottom: 0;
158
- }
159
-
160
- .search-container input {
161
- width: 100%;
162
- padding: 1rem 1rem 1rem 3rem;
163
- border: 2px solid rgba(255, 168, 168, 0.3);
164
- border-radius: 25px;
165
- background: rgba(255, 255, 255, 0.5);
166
- color: var(--text-primary);
167
- font-size: 1rem;
168
- transition: all 0.3s ease;
169
- }
170
-
171
- .search-container input:focus {
172
- outline: none;
173
- border-color: #FFA8A8;
174
- background: rgba(255, 255, 255, 0.7);
175
- box-shadow: 0 0 20px rgba(255, 168, 168, 0.3);
176
- }
177
-
178
- .search-container input::placeholder {
179
- color: var(--text-muted);
180
- }
181
-
182
- .search-container button {
183
- position: absolute;
184
- right: 0.5rem;
185
- top: 50%;
186
- transform: translateY(-50%);
187
- background: #FFA8A8;
188
- border: none;
189
- border-radius: 50%;
190
- width: 2.5rem;
191
- height: 2.5rem;
192
- color: white;
193
- cursor: pointer;
194
- transition: all 0.3s ease;
195
- }
196
-
197
- .search-container button:hover {
198
- background: #FF8E8E;
199
- transform: translateY(-50%) scale(1.1);
200
- }
201
-
202
- .admin-card .ban-actions {
203
- display: flex;
204
- gap: 1rem;
205
- margin-bottom: 1rem;
206
- }
207
-
208
- .admin-card .ban-actions .btn {
209
- flex: 1;
210
- padding: 0.75rem 1rem;
211
- border: none;
212
- border-radius: 8px;
213
- font-weight: 500;
214
- cursor: pointer;
215
- transition: all 0.3s ease;
216
- }
217
-
218
- .admin-card .ban-actions .btn-danger {
219
- background: #e74c3c;
220
- color: white;
221
- }
222
-
223
- .admin-card .ban-actions .btn-danger:hover {
224
- background: #c0392b;
225
- transform: translateY(-2px);
226
- }
227
-
228
- .admin-card .ban-actions .btn-success {
229
- background: #8D96FF;
230
- color: white;
231
- }
232
-
233
- .admin-card .ban-actions .btn-success:hover {
234
- background: #7580EE;
235
- transform: translateY(-2px);
236
- }
237
-
238
- .ban-status {
239
- padding: 1rem;
240
- border-radius: 8px;
241
- margin-top: 1rem;
242
- font-weight: 500;
243
- }
244
-
245
- .ban-status.banned {
246
- background: rgba(231, 76, 60, 0.1);
247
- border: 1px solid #e74c3c;
248
- color: #e74c3c;
249
- }
250
-
251
- .ban-status.active {
252
- background: rgba(141, 150, 255, 0.1);
253
- border: 1px solid #8D96FF;
254
- color: #8D96FF;
255
- }
256
-
257
- .usage-timeline {
258
- background: rgba(255, 255, 255, 0.5);
259
- border-radius: 15px;
260
- padding: 1.5rem;
261
- margin-top: 1rem;
262
- }
263
-
264
- .timeline-item {
265
- display: flex;
266
- align-items: center;
267
- padding: 0.75rem 0;
268
- border-bottom: 1px solid rgba(255, 168, 168, 0.2);
269
- }
270
-
271
- .timeline-item:last-child {
272
- border-bottom: none;
273
- }
274
-
275
- .timeline-icon {
276
- width: 40px;
277
- height: 40px;
278
- border-radius: 50%;
279
- background: linear-gradient(135deg, #FFA8A8, #8D96FF);
280
- display: flex;
281
- align-items: center;
282
- justify-content: center;
283
- color: white;
284
- margin-right: 1rem;
285
- }
286
-
287
- .timeline-content {
288
- flex: 1;
289
- }
290
-
291
- .timeline-title {
292
- font-weight: 600;
293
- color: var(--text-primary);
294
- margin-bottom: 0.25rem;
295
- }
296
-
297
- .timeline-details {
298
- font-size: 0.875rem;
299
- color: var(--text-secondary);
300
- }
301
-
302
- .timeline-time {
303
- font-size: 0.75rem;
304
- color: var(--text-muted);
305
- margin-left: auto;
306
- }
307
-
308
  body::before {
309
  content: '';
310
  position: fixed;
@@ -325,8 +76,9 @@ body::before {
325
  50% { opacity: 0.8; }
326
  }
327
 
 
328
  .navbar {
329
- background: rgba(255, 255, 255, 0.8);
330
  backdrop-filter: blur(20px);
331
  border-bottom: 1px solid var(--glass-border);
332
  padding: var(--spacing-md) 0;
@@ -345,22 +97,43 @@ body::before {
345
  align-items: center;
346
  }
347
 
348
- .nav-brand h2 {
 
 
349
  background: var(--primary-gradient);
350
  -webkit-background-clip: text;
351
  -webkit-text-fill-color: transparent;
352
- font-size: var(--font-size-2xl);
353
- font-weight: 800;
354
  display: flex;
355
  align-items: center;
356
  gap: var(--spacing-sm);
357
  letter-spacing: -0.02em;
358
  }
359
 
360
- .nav-brand a {
361
  text-decoration: none;
362
  }
363
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
  .nav-menu {
365
  display: flex;
366
  gap: var(--spacing-xl);
@@ -368,35 +141,52 @@ body::before {
368
  }
369
 
370
  .nav-link {
371
- color: var(--text-secondary);
372
  text-decoration: none;
373
- padding: var(--spacing-sm) var(--spacing-lg);
374
  border-radius: var(--border-radius);
375
  transition: var(--transition-base);
376
  display: flex;
377
  align-items: center;
378
  gap: var(--spacing-sm);
379
  font-weight: 500;
380
- background: var(--glass-bg);
381
  border: 1px solid transparent;
382
- backdrop-filter: blur(10px);
383
  font-size: var(--font-size-sm);
 
384
  }
385
 
386
  .nav-link:hover {
387
- background: var(--glass-hover);
388
- color: var(--text-primary);
389
  transform: translateY(-2px);
390
  box-shadow: var(--shadow-sm);
391
  border-color: var(--glass-border);
392
  }
393
 
 
 
 
 
 
 
 
 
 
 
 
 
394
  .hero {
395
  text-align: center;
396
  padding: 8rem var(--spacing-xl) 6rem;
397
  position: relative;
398
  }
399
 
 
 
 
 
 
400
  .hero-title {
401
  font-size: clamp(2.5rem, 5vw, 4.5rem);
402
  font-weight: 800;
@@ -405,6 +195,7 @@ body::before {
405
  background-size: 300% 300%;
406
  -webkit-background-clip: text;
407
  -webkit-text-fill-color: transparent;
 
408
  animation: gradientShift 6s ease-in-out infinite;
409
  letter-spacing: -0.03em;
410
  line-height: 1.1;
@@ -420,10 +211,10 @@ body::before {
420
  margin-bottom: var(--spacing-2xl);
421
  color: var(--text-secondary);
422
  font-weight: 400;
423
- max-width: 600px;
424
  margin-left: auto;
425
  margin-right: auto;
426
- line-height: 1.5;
427
  }
428
 
429
  .hero-buttons {
@@ -433,6 +224,7 @@ body::before {
433
  flex-wrap: wrap;
434
  }
435
 
 
436
  .btn {
437
  padding: var(--spacing-md) var(--spacing-xl);
438
  border: none;
@@ -478,6 +270,7 @@ body::before {
478
  .btn-primary:hover {
479
  transform: translateY(-3px);
480
  box-shadow: 0 8px 30px rgba(255, 168, 168, 0.5);
 
481
  }
482
 
483
  .btn-secondary {
@@ -490,6 +283,7 @@ body::before {
490
  background: var(--glass-hover);
491
  transform: translateY(-3px);
492
  box-shadow: var(--shadow);
 
493
  }
494
 
495
  .btn-warning {
@@ -501,6 +295,7 @@ body::before {
501
  .btn-warning:hover {
502
  transform: translateY(-3px);
503
  box-shadow: 0 8px 30px rgba(255, 168, 168, 0.5);
 
504
  }
505
 
506
  .btn-danger {
@@ -512,6 +307,7 @@ body::before {
512
  .btn-danger:hover {
513
  transform: translateY(-3px);
514
  box-shadow: 0 8px 30px rgba(250, 112, 154, 0.5);
 
515
  }
516
 
517
  .btn-info {
@@ -523,6 +319,7 @@ body::before {
523
  .btn-info:hover {
524
  transform: translateY(-3px);
525
  box-shadow: 0 8px 30px rgba(141, 150, 255, 0.5);
 
526
  }
527
 
528
  .btn-sm {
@@ -538,12 +335,14 @@ body::before {
538
  box-shadow: none !important;
539
  }
540
 
 
541
  .container {
542
  max-width: 1400px;
543
  margin: 0 auto;
544
  padding: 0 var(--spacing-xl);
545
  }
546
 
 
547
  .features {
548
  padding: 8rem 0;
549
  background: rgba(255, 255, 255, 0.5);
@@ -561,6 +360,7 @@ body::before {
561
  background: var(--primary-gradient);
562
  -webkit-background-clip: text;
563
  -webkit-text-fill-color: transparent;
 
564
  letter-spacing: -0.02em;
565
  }
566
 
@@ -623,6 +423,7 @@ body::before {
623
  background: var(--primary-gradient);
624
  -webkit-background-clip: text;
625
  -webkit-text-fill-color: transparent;
 
626
  transition: transform var(--transition-base);
627
  }
628
 
@@ -643,73 +444,167 @@ body::before {
643
  font-size: var(--font-size-base);
644
  }
645
 
 
646
  .stats {
647
  padding: 8rem 0;
648
  position: relative;
649
  }
650
 
651
- .stats-grid {
652
- display: grid;
653
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
654
- gap: 2.5rem;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
655
  }
656
 
657
- .stat-card {
 
 
658
  background: var(--glass-bg);
659
- backdrop-filter: blur(20px);
660
  border: 1px solid var(--glass-border);
661
- border-radius: var(--border-radius-lg);
662
- padding: var(--spacing-2xl);
663
- text-align: center;
664
  transition: var(--transition-base);
665
- position: relative;
666
- overflow: hidden;
667
- }
668
-
669
- .stat-card::before {
670
- content: '';
671
- position: absolute;
672
- top: 50%;
673
- left: 50%;
674
- transform: translate(-50%, -50%);
675
- width: 200%;
676
- height: 200%;
677
- background: radial-gradient(circle, rgba(255, 168, 168, 0.15) 0%, transparent 70%);
678
- opacity: 0;
679
- transition: opacity var(--transition-base);
680
- }
681
-
682
- .stat-card:hover::before {
683
- opacity: 1;
684
  }
685
 
686
- .stat-card:hover {
687
- transform: translateY(-10px);
688
- border-color: rgba(255, 168, 168, 0.6);
689
  box-shadow: var(--shadow);
690
  }
691
 
692
- .stat-number {
693
- font-size: 3.5rem;
 
694
  font-weight: 800;
695
- margin-bottom: var(--spacing-md);
696
  background: var(--primary-gradient);
697
  -webkit-background-clip: text;
698
  -webkit-text-fill-color: transparent;
699
- display: block;
700
- position: relative;
701
- z-index: 1;
702
  line-height: 1.1;
703
  }
704
 
705
- .stat-label {
706
- font-size: var(--font-size-lg);
707
- color: var(--text-secondary);
708
- font-weight: 500;
709
- position: relative;
710
- z-index: 1;
711
- }
712
-
713
  .auth-container {
714
  min-height: 100vh;
715
  display: flex;
@@ -830,6 +725,7 @@ body::before {
830
  background: rgba(255, 255, 255, 0.8);
831
  }
832
 
 
833
  .dashboard-container {
834
  display: flex;
835
  min-height: calc(100vh - 80px);
@@ -847,157 +743,388 @@ body::before {
847
  overflow-y: auto;
848
  }
849
 
850
- .sidebar-menu {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
851
  display: flex;
852
- flex-direction: column;
853
  gap: var(--spacing-sm);
854
- padding: 0 var(--spacing-lg);
855
  }
856
 
857
- .menu-item {
 
 
 
 
 
 
 
 
 
858
  display: flex;
859
  align-items: center;
860
- gap: var(--spacing-md);
861
- padding: 1.2rem var(--spacing-lg);
862
- color: var(--text-muted);
863
- text-decoration: none;
 
 
 
 
 
 
864
  border-radius: var(--border-radius);
865
- transition: var(--transition-base);
866
- font-weight: 500;
 
 
 
 
 
 
 
 
 
 
 
867
  position: relative;
868
- background: transparent;
869
- border: 1px solid transparent;
870
- min-height: 52px;
871
  }
872
 
873
- .menu-item::before {
874
- content: '';
875
  position: absolute;
876
- left: 0;
877
  top: 50%;
878
  transform: translateY(-50%);
879
- width: 4px;
880
- height: 0;
881
- background: var(--primary-gradient);
882
- border-radius: 2px;
883
- transition: height var(--transition-base);
884
  }
885
 
886
- .menu-item:hover,
887
- .menu-item.active {
888
- background: var(--glass-bg);
 
 
 
889
  color: var(--text-primary);
890
- transform: translateX(8px);
891
- border-color: var(--glass-border);
892
  }
893
 
894
- .menu-item:hover::before,
895
- .menu-item.active::before {
896
- height: 30px;
 
 
897
  }
898
 
899
- .main-content {
900
- flex: 1;
901
- padding: 2.5rem;
902
- overflow-y: auto;
903
- max-width: calc(100vw - 280px);
904
  }
905
 
906
- .section {
907
- display: none;
908
- animation: fadeInUp var(--transition-slow);
 
 
 
 
 
 
 
 
 
 
909
  }
910
 
911
- .section.active {
912
- display: block;
 
913
  }
914
 
915
- @keyframes fadeInUp {
916
- from {
917
- opacity: 0;
918
- transform: translateY(20px);
919
- }
920
- to {
921
- opacity: 1;
922
- transform: translateY(0);
923
- }
924
  }
925
 
926
- .section h2 {
927
- font-size: 2.8rem;
928
- margin-bottom: 2.5rem;
929
- font-weight: 800;
930
- background: var(--primary-gradient);
931
- -webkit-background-clip: text;
932
- -webkit-text-fill-color: transparent;
 
933
  display: flex;
 
934
  align-items: center;
935
- gap: var(--spacing-sm);
936
- letter-spacing: -0.02em;
937
  }
938
 
939
- .stats-cards {
940
- display: grid;
941
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
942
- gap: var(--spacing-xl);
943
- margin-bottom: var(--spacing-2xl);
944
  }
945
 
946
- .stats-cards .stat-card {
947
  display: flex;
948
  align-items: center;
949
- gap: var(--spacing-xl);
950
- padding: 2.5rem;
951
- text-align: left;
952
- background: var(--glass-bg);
953
- backdrop-filter: blur(20px);
954
- border: 1px solid var(--glass-border);
955
- border-radius: var(--border-radius-lg);
956
- box-shadow: var(--shadow);
957
- transition: var(--transition-base);
958
  }
959
 
960
- .stats-cards .stat-card:hover {
961
- transform: translateY(-5px);
962
- box-shadow: var(--shadow-lg);
963
  }
964
 
965
- .stat-icon {
966
- font-size: var(--font-size-4xl);
967
- background: var(--primary-gradient);
968
- -webkit-background-clip: text;
969
- -webkit-text-fill-color: transparent;
970
- background: var(--glass-bg);
971
- padding: var(--spacing-lg);
972
- border-radius: var(--border-radius);
973
- border: 1px solid var(--glass-border);
974
- display: flex;
975
- align-items: center;
976
- justify-content: center;
977
- min-width: 80px;
978
- height: 80px;
979
  }
980
 
981
- .stat-info {
982
- flex: 1;
 
 
983
  }
984
 
985
- .stat-info .stat-number {
986
- font-size: 2.5rem;
987
- margin-bottom: var(--spacing-sm);
988
- background: var(--primary-gradient);
989
- -webkit-background-clip: text;
990
- -webkit-text-fill-color: transparent;
991
- font-weight: 800;
992
- line-height: 1.1;
993
  }
994
 
995
- .stat-info .stat-label {
996
- font-size: var(--font-size-base);
997
- color: var(--text-secondary);
998
- font-weight: 500;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
999
  }
1000
 
 
1001
  .plugin-form {
1002
  background: rgba(255, 255, 255, 0.4);
1003
  border-radius: var(--border-radius);
@@ -1082,36 +1209,69 @@ body::before {
1082
 
1083
  .input-group {
1084
  display: flex;
1085
- gap: var(--spacing-md);
1086
- align-items: end;
1087
- flex-wrap: wrap;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1088
  }
1089
 
1090
- .input-group input {
1091
- flex: 1;
1092
- min-width: 200px;
1093
  }
1094
 
1095
- .loading-spinner {
1096
- width: 20px;
1097
- height: 20px;
1098
- border: 2px solid rgba(255, 168, 168, 0.3);
1099
- border-radius: 50%;
1100
- border-top-color: #FFA8A8;
1101
- animation: spin 1s linear infinite;
1102
  }
1103
 
1104
- @keyframes spin {
1105
- to { transform: rotate(360deg); }
 
 
 
 
 
 
 
 
 
 
 
 
 
1106
  }
1107
 
1108
- .loading {
1109
- text-align: center;
1110
- padding: var(--spacing-2xl);
1111
- color: var(--text-muted);
1112
- font-size: var(--font-size-lg);
1113
  }
1114
 
 
1115
  .response-container {
1116
  margin-top: var(--spacing-xl);
1117
  display: none;
@@ -1188,224 +1348,41 @@ body::before {
1188
  color: #FFA8A8;
1189
  padding: var(--spacing-sm) var(--spacing-md);
1190
  border-radius: var(--border-radius);
1191
- font-size: var(--font-size-xs);
1192
- cursor: pointer;
1193
- transition: var(--transition-base);
1194
- display: flex;
1195
- align-items: center;
1196
- gap: var(--spacing-xs);
1197
- min-height: 32px;
1198
- }
1199
-
1200
- .copy-btn:hover {
1201
- background: rgba(255, 168, 168, 0.35);
1202
- transform: translateY(-2px);
1203
- }
1204
-
1205
- .plugins-grid {
1206
- display: grid;
1207
- grid-template-columns: 1fr;
1208
- gap: var(--spacing-xl);
1209
- }
1210
-
1211
- .plugin-card {
1212
- background: var(--glass-bg);
1213
- backdrop-filter: blur(20px);
1214
- border: 1px solid var(--glass-border);
1215
- border-radius: var(--border-radius-lg);
1216
- overflow: hidden;
1217
- transition: var(--transition-slow);
1218
- box-shadow: var(--shadow);
1219
- }
1220
-
1221
- .plugin-card:hover {
1222
- border-color: rgba(255, 168, 168, 0.6);
1223
- transform: translateY(-5px);
1224
- box-shadow: var(--shadow-lg);
1225
- }
1226
-
1227
- .plugin-card.expanded {
1228
- border-color: rgba(255, 168, 168, 0.8);
1229
- box-shadow: var(--shadow-lg);
1230
- }
1231
-
1232
- .plugin-header {
1233
- display: flex;
1234
- justify-content: space-between;
1235
- align-items: center;
1236
- padding: var(--spacing-xl);
1237
- cursor: pointer;
1238
- user-select: none;
1239
- transition: background var(--transition-base);
1240
- min-height: 80px;
1241
- }
1242
-
1243
- .plugin-header:hover {
1244
- background: rgba(255, 255, 255, 0.3);
1245
- }
1246
-
1247
- .plugin-left {
1248
- display: flex;
1249
- align-items: center;
1250
- gap: var(--spacing-md);
1251
- flex: 1;
1252
- }
1253
-
1254
- .plugin-name {
1255
- font-size: var(--font-size-xl);
1256
- font-weight: 700;
1257
- color: var(--text-primary);
1258
- margin-bottom: var(--spacing-sm);
1259
- }
1260
-
1261
- .plugin-description {
1262
- color: var(--text-secondary);
1263
- font-size: var(--font-size-base);
1264
- line-height: 1.5;
1265
- }
1266
-
1267
- .plugin-type {
1268
- background: var(--primary-gradient);
1269
- color: white;
1270
- padding: var(--spacing-sm) var(--spacing-md);
1271
- border-radius: 20px;
1272
- font-size: var(--font-size-xs);
1273
- font-weight: 600;
1274
- text-transform: uppercase;
1275
- letter-spacing: 0.5px;
1276
- box-shadow: 0 2px 10px rgba(255, 168, 168, 0.3);
1277
- white-space: nowrap;
1278
- min-height: 32px;
1279
- display: flex;
1280
- align-items: center;
1281
- }
1282
-
1283
- .plugin-expand {
1284
- font-size: var(--font-size-2xl);
1285
- color: var(--text-muted);
1286
- transition: var(--transition-base);
1287
- margin-left: var(--spacing-md);
1288
- }
1289
-
1290
- .plugin-expand.expanded {
1291
- transform: rotate(180deg);
1292
- color: #FFA8A8;
1293
- }
1294
-
1295
- .plugin-content {
1296
- display: none;
1297
- border-top: 1px solid var(--glass-border);
1298
- background: rgba(255, 255, 255, 0.3);
1299
- }
1300
-
1301
- .plugin-content.expanded {
1302
- display: block;
1303
- animation: slideDown var(--transition-base);
1304
- }
1305
-
1306
- @keyframes slideDown {
1307
- from { opacity: 0; max-height: 0; }
1308
- to { opacity: 1; max-height: 1000px; }
1309
- }
1310
-
1311
- .plugin-details {
1312
- padding: var(--spacing-xl);
1313
- }
1314
-
1315
- .plugin-tags {
1316
- display: flex;
1317
- flex-wrap: wrap;
1318
- gap: var(--spacing-sm);
1319
- margin-bottom: var(--spacing-lg);
1320
- }
1321
-
1322
- .tag {
1323
- background: rgba(255, 168, 168, 0.2);
1324
- color: #FFA8A8;
1325
- padding: var(--spacing-xs) var(--spacing-md);
1326
- border-radius: 15px;
1327
- font-size: var(--font-size-xs);
1328
- font-weight: 500;
1329
- border: 1px solid rgba(255, 168, 168, 0.3);
1330
- transition: var(--transition-base);
1331
- min-height: 28px;
1332
- display: flex;
1333
- align-items: center;
1334
- }
1335
-
1336
- .tag:hover {
1337
- background: rgba(255, 168, 168, 0.35);
1338
- transform: translateY(-2px);
1339
- }
1340
-
1341
- .plugin-routes {
1342
- background: rgba(255, 255, 255, 0.4);
1343
- padding: var(--spacing-lg);
1344
- border-radius: var(--border-radius);
1345
- font-family: 'JetBrains Mono', monospace;
1346
- font-size: var(--font-size-sm);
1347
- color: #1a1a1a;
1348
- border: 1px solid var(--glass-border);
1349
- overflow-x: auto;
1350
- margin-bottom: var(--spacing-lg);
1351
- }
1352
-
1353
- .btn-execute {
1354
- background: var(--primary-gradient);
1355
- color: white;
1356
- border: none;
1357
- padding: var(--spacing-md) var(--spacing-xl);
1358
- border-radius: var(--border-radius);
1359
- font-weight: 600;
1360
- cursor: pointer;
1361
- transition: var(--transition-base);
1362
- display: flex;
1363
- align-items: center;
1364
- gap: var(--spacing-sm);
1365
- font-size: var(--font-size-base);
1366
- box-shadow: 0 4px 20px rgba(255, 168, 168, 0.3);
1367
- min-height: 48px;
1368
- }
1369
-
1370
- .btn-execute:hover:not(:disabled) {
1371
- transform: translateY(-3px);
1372
- box-shadow: 0 8px 30px rgba(255, 168, 168, 0.4);
1373
- }
1374
-
1375
- .btn-execute:disabled {
1376
- opacity: 0.6;
1377
- cursor: not-allowed;
1378
- transform: none !important;
1379
- box-shadow: none !important;
1380
- }
1381
-
1382
- .btn-reset {
1383
- background: var(--glass-bg);
1384
- color: var(--text-secondary);
1385
- border: 1px solid var(--glass-border);
1386
- padding: var(--spacing-md) var(--spacing-xl);
1387
- border-radius: var(--border-radius);
1388
- font-weight: 500;
1389
  cursor: pointer;
1390
  transition: var(--transition-base);
1391
  display: flex;
1392
  align-items: center;
1393
- gap: var(--spacing-sm);
1394
- font-size: var(--font-size-base);
1395
- backdrop-filter: blur(10px);
1396
- min-height: 48px;
1397
  }
1398
 
1399
- .btn-reset:hover {
1400
- background: var(--glass-hover);
1401
- color: var(--text-primary);
1402
  transform: translateY(-2px);
1403
  }
1404
 
1405
- .events-container {
1406
- max-width: 600px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1407
  }
1408
 
 
1409
  .profile-container {
1410
  max-width: 1000px;
1411
  margin: var(--spacing-xl) auto;
@@ -1484,7 +1461,6 @@ body::before {
1484
  text-transform: uppercase;
1485
  letter-spacing: 0.5px;
1486
  backdrop-filter: blur(10px);
1487
- -webkit-backdrop-filter: blur(10px);
1488
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
1489
  transition: all 0.3s ease;
1490
  border: 1px solid;
@@ -1697,6 +1673,7 @@ body::before {
1697
  font-size: var(--font-size-sm);
1698
  }
1699
 
 
1700
  .redeem-section,
1701
  .setting-card,
1702
  .admin-card {
@@ -1774,6 +1751,62 @@ body::before {
1774
  line-height: 1.5;
1775
  }
1776
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1777
  .usage-progress {
1778
  margin-bottom: var(--spacing-lg);
1779
  }
@@ -1848,33 +1881,55 @@ body::before {
1848
  min-width: 20px;
1849
  }
1850
 
1851
- .stat-item {
1852
- text-align: center;
1853
- padding: var(--spacing-lg);
1854
- background: var(--glass-bg);
1855
- border-radius: var(--border-radius);
1856
- border: 1px solid var(--glass-border);
1857
- transition: var(--transition-base);
1858
- min-height: 100px;
1859
  display: flex;
1860
- flex-direction: column;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1861
  justify-content: center;
 
 
1862
  }
1863
 
1864
- .stat-item:hover {
1865
- transform: translateY(-3px);
1866
- box-shadow: var(--shadow);
1867
  }
1868
 
1869
- .stat-value {
1870
- display: block;
1871
- font-size: 2.2rem;
1872
- font-weight: 800;
1873
- background: var(--primary-gradient);
1874
- -webkit-background-clip: text;
1875
- -webkit-text-fill-color: transparent;
1876
- margin-bottom: var(--spacing-sm);
1877
- line-height: 1.1;
 
 
 
 
 
 
1878
  }
1879
 
1880
  .usage-chart {
@@ -1918,14 +1973,23 @@ body::before {
1918
  margin-top: var(--spacing-sm);
1919
  }
1920
 
 
 
 
 
 
1921
  .footer {
1922
  background: rgba(255, 255, 255, 0.6);
1923
  border-top: 1px solid var(--glass-border);
1924
- padding: 4rem 0;
1925
- text-align: center;
1926
  color: var(--text-secondary);
1927
  }
1928
 
 
 
 
 
 
1929
  ::-webkit-scrollbar {
1930
  width: 8px;
1931
  height: 8px;
@@ -1945,6 +2009,7 @@ body::before {
1945
  background: linear-gradient(135deg, #FF8E8E 0%, #7580EE 100%);
1946
  }
1947
 
 
1948
  .swal2-popup {
1949
  background: rgba(255, 255, 255, 0.9) !important;
1950
  backdrop-filter: blur(20px) !important;
@@ -1987,6 +2052,7 @@ body::before {
1987
  padding: var(--spacing-md) !important;
1988
  }
1989
 
 
1990
  @media (max-width: 1200px) {
1991
  .nav-menu {
1992
  gap: var(--spacing-md);
@@ -2053,51 +2119,8 @@ body::before {
2053
  font-size: 2rem;
2054
  }
2055
 
2056
- .section-title {
2057
- font-size: 2rem;
2058
- }
2059
-
2060
- .auth-card {
2061
- margin: var(--spacing-sm);
2062
- padding: var(--spacing-lg);
2063
- }
2064
-
2065
- .sidebar-menu {
2066
- padding: 0 var(--spacing-sm);
2067
- }
2068
-
2069
- .main-content {
2070
- padding: var(--spacing-md);
2071
- }
2072
-
2073
- .stats-cards .stat-card,
2074
- .plugin-details,
2075
- .redeem-section,
2076
- .setting-card,
2077
- .admin-card,
2078
- .profile-section {
2079
- padding: var(--spacing-lg);
2080
- }
2081
-
2082
- .plugin-header {
2083
- padding: var(--spacing-md);
2084
- }
2085
-
2086
- .form-field input,
2087
- .form-field select,
2088
- .form-group input,
2089
- .form-group select,
2090
- .btn,
2091
- .menu-item,
2092
- .api-key-display {
2093
- min-height: 44px;
2094
- }
2095
-
2096
- .btn-sm {
2097
- min-height: 32px;
2098
- }
2099
- }
2100
- font-size: 2.5rem;
2101
  }
2102
 
2103
  .hero-buttons {
@@ -2106,6 +2129,10 @@ body::before {
2106
  gap: var(--spacing-md);
2107
  }
2108
 
 
 
 
 
2109
  .features-grid,
2110
  .stats-grid {
2111
  grid-template-columns: 1fr;
@@ -2220,6 +2247,20 @@ body::before {
2220
  .profile-section {
2221
  padding: var(--spacing-lg);
2222
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2223
  }
2224
 
2225
  @media (max-width: 480px) {
@@ -2231,98 +2272,50 @@ body::before {
2231
  padding: 3rem var(--spacing-md) 2rem;
2232
  }
2233
 
2234
- .hero-title {
2235
- font-size: 2rem;
2236
- }
2237
-
2238
- .section-title {
2239
- font-size: 2rem;
2240
- }
2241
-
2242
- .auth-card {
2243
- margin: var(--spacing-sm);
2244
- padding: var(--spacing-lg);
2245
- }
2246
-
2247
- .sidebar-menu {
2248
- padding: 0 var(--spacing-sm);
2249
- }
2250
-
2251
- .main-content {
2252
- padding: var(--spacing-md);
2253
- }
2254
-
2255
- .stats-cards .stat-card,
2256
- .plugin-details,
2257
- .redeem-section,
2258
- .setting-card,
2259
- .admin-card,
2260
- .profile-section {
2261
- padding: var(--spacing-lg);
2262
- }
2263
-
2264
- .plugin-header {
2265
- padding: var(--spacing-md);
2266
- }
2267
-
2268
- .form-field input,
2269
- .form-field select,
2270
- .form-group input,
2271
- .form-group select,
2272
- .btn,
2273
- .menu-item,
2274
- .api-key-display {
2275
- min-height: 44px;
2276
- }
2277
-
2278
- .btn-sm {
2279
- min-height: 32px;
2280
- }
2281
- }
2282
- font-size: 2rem;
2283
- }
2284
-
2285
- .section-title {
2286
- font-size: 2rem;
2287
- }
2288
-
2289
- .auth-card {
2290
- margin: var(--spacing-sm);
2291
- padding: var(--spacing-lg);
2292
- }
2293
-
2294
- .sidebar-menu {
2295
- padding: 0 var(--spacing-sm);
2296
- }
2297
-
2298
- .main-content {
2299
- padding: var(--spacing-md);
2300
- }
2301
-
2302
- .stats-cards .stat-card,
2303
- .plugin-details,
2304
- .redeem-section,
2305
- .setting-card,
2306
- .admin-card,
2307
- .profile-section {
2308
- padding: var(--spacing-lg);
2309
- }
2310
-
2311
- .plugin-header {
2312
- padding: var(--spacing-md);
2313
- }
2314
-
2315
- .form-field input,
2316
- .form-field select,
2317
- .form-group input,
2318
- .form-group select,
2319
- .btn,
2320
- .menu-item,
2321
- .api-key-display {
2322
- min-height: 44px;
2323
- }
2324
-
2325
- .btn-sm {
2326
- min-height: 32px;
2327
- }
2328
-
 
56
  font-size: var(--font-size-base);
57
  }
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  body::before {
60
  content: '';
61
  position: fixed;
 
76
  50% { opacity: 0.8; }
77
  }
78
 
79
+ /* ===== NAVBAR ===== */
80
  .navbar {
81
+ background: rgba(255, 255, 255, 0.8) !important;
82
  backdrop-filter: blur(20px);
83
  border-bottom: 1px solid var(--glass-border);
84
  padding: var(--spacing-md) 0;
 
97
  align-items: center;
98
  }
99
 
100
+ .navbar-brand {
101
+ font-size: var(--font-size-2xl);
102
+ font-weight: 800;
103
  background: var(--primary-gradient);
104
  -webkit-background-clip: text;
105
  -webkit-text-fill-color: transparent;
106
+ background-clip: text;
107
+ text-decoration: none;
108
  display: flex;
109
  align-items: center;
110
  gap: var(--spacing-sm);
111
  letter-spacing: -0.02em;
112
  }
113
 
114
+ .navbar-brand a {
115
  text-decoration: none;
116
  }
117
 
118
+ .navbar-brand i {
119
+ background: var(--primary-gradient);
120
+ -webkit-background-clip: text;
121
+ -webkit-text-fill-color: transparent;
122
+ background-clip: text;
123
+ }
124
+
125
+ .nav-brand h2 {
126
+ background: var(--primary-gradient);
127
+ -webkit-background-clip: text;
128
+ -webkit-text-fill-color: transparent;
129
+ font-size: var(--font-size-2xl);
130
+ font-weight: 800;
131
+ display: flex;
132
+ align-items: center;
133
+ gap: var(--spacing-sm);
134
+ letter-spacing: -0.02em;
135
+ }
136
+
137
  .nav-menu {
138
  display: flex;
139
  gap: var(--spacing-xl);
 
141
  }
142
 
143
  .nav-link {
144
+ color: var(--text-secondary) !important;
145
  text-decoration: none;
146
+ padding: var(--spacing-sm) var(--spacing-lg) !important;
147
  border-radius: var(--border-radius);
148
  transition: var(--transition-base);
149
  display: flex;
150
  align-items: center;
151
  gap: var(--spacing-sm);
152
  font-weight: 500;
153
+ background: transparent;
154
  border: 1px solid transparent;
 
155
  font-size: var(--font-size-sm);
156
+ margin: 0 var(--spacing-xs);
157
  }
158
 
159
  .nav-link:hover {
160
+ background: var(--glass-bg) !important;
161
+ color: var(--text-primary) !important;
162
  transform: translateY(-2px);
163
  box-shadow: var(--shadow-sm);
164
  border-color: var(--glass-border);
165
  }
166
 
167
+ .nav-link.btn-primary {
168
+ background: var(--primary-gradient) !important;
169
+ color: white !important;
170
+ box-shadow: 0 4px 20px rgba(255, 168, 168, 0.4);
171
+ }
172
+
173
+ .nav-link.btn-primary:hover {
174
+ transform: translateY(-3px) !important;
175
+ box-shadow: 0 8px 30px rgba(255, 168, 168, 0.5) !important;
176
+ }
177
+
178
+ /* ===== HERO SECTION ===== */
179
  .hero {
180
  text-align: center;
181
  padding: 8rem var(--spacing-xl) 6rem;
182
  position: relative;
183
  }
184
 
185
+ .hero-content {
186
+ max-width: 900px;
187
+ margin: 0 auto;
188
+ }
189
+
190
  .hero-title {
191
  font-size: clamp(2.5rem, 5vw, 4.5rem);
192
  font-weight: 800;
 
195
  background-size: 300% 300%;
196
  -webkit-background-clip: text;
197
  -webkit-text-fill-color: transparent;
198
+ background-clip: text;
199
  animation: gradientShift 6s ease-in-out infinite;
200
  letter-spacing: -0.03em;
201
  line-height: 1.1;
 
211
  margin-bottom: var(--spacing-2xl);
212
  color: var(--text-secondary);
213
  font-weight: 400;
214
+ max-width: 700px;
215
  margin-left: auto;
216
  margin-right: auto;
217
+ line-height: 1.6;
218
  }
219
 
220
  .hero-buttons {
 
224
  flex-wrap: wrap;
225
  }
226
 
227
+ /* ===== BUTTONS ===== */
228
  .btn {
229
  padding: var(--spacing-md) var(--spacing-xl);
230
  border: none;
 
270
  .btn-primary:hover {
271
  transform: translateY(-3px);
272
  box-shadow: 0 8px 30px rgba(255, 168, 168, 0.5);
273
+ color: white;
274
  }
275
 
276
  .btn-secondary {
 
283
  background: var(--glass-hover);
284
  transform: translateY(-3px);
285
  box-shadow: var(--shadow);
286
+ color: var(--text-primary);
287
  }
288
 
289
  .btn-warning {
 
295
  .btn-warning:hover {
296
  transform: translateY(-3px);
297
  box-shadow: 0 8px 30px rgba(255, 168, 168, 0.5);
298
+ color: white;
299
  }
300
 
301
  .btn-danger {
 
307
  .btn-danger:hover {
308
  transform: translateY(-3px);
309
  box-shadow: 0 8px 30px rgba(250, 112, 154, 0.5);
310
+ color: white;
311
  }
312
 
313
  .btn-info {
 
319
  .btn-info:hover {
320
  transform: translateY(-3px);
321
  box-shadow: 0 8px 30px rgba(141, 150, 255, 0.5);
322
+ color: white;
323
  }
324
 
325
  .btn-sm {
 
335
  box-shadow: none !important;
336
  }
337
 
338
+ /* ===== CONTAINER ===== */
339
  .container {
340
  max-width: 1400px;
341
  margin: 0 auto;
342
  padding: 0 var(--spacing-xl);
343
  }
344
 
345
+ /* ===== FEATURES SECTION ===== */
346
  .features {
347
  padding: 8rem 0;
348
  background: rgba(255, 255, 255, 0.5);
 
360
  background: var(--primary-gradient);
361
  -webkit-background-clip: text;
362
  -webkit-text-fill-color: transparent;
363
+ background-clip: text;
364
  letter-spacing: -0.02em;
365
  }
366
 
 
423
  background: var(--primary-gradient);
424
  -webkit-background-clip: text;
425
  -webkit-text-fill-color: transparent;
426
+ background-clip: text;
427
  transition: transform var(--transition-base);
428
  }
429
 
 
444
  font-size: var(--font-size-base);
445
  }
446
 
447
+ /* ===== STATS SECTION ===== */
448
  .stats {
449
  padding: 8rem 0;
450
  position: relative;
451
  }
452
 
453
+ .stats-grid {
454
+ display: grid;
455
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
456
+ gap: 2.5rem;
457
+ }
458
+
459
+ .stat-card {
460
+ background: var(--glass-bg);
461
+ backdrop-filter: blur(20px);
462
+ border: 1px solid var(--glass-border);
463
+ border-radius: var(--border-radius-lg);
464
+ padding: var(--spacing-2xl);
465
+ text-align: center;
466
+ transition: var(--transition-base);
467
+ position: relative;
468
+ overflow: hidden;
469
+ }
470
+
471
+ .stat-card::before {
472
+ content: '';
473
+ position: absolute;
474
+ top: 50%;
475
+ left: 50%;
476
+ transform: translate(-50%, -50%);
477
+ width: 200%;
478
+ height: 200%;
479
+ background: radial-gradient(circle, rgba(255, 168, 168, 0.15) 0%, transparent 70%);
480
+ opacity: 0;
481
+ transition: opacity var(--transition-base);
482
+ }
483
+
484
+ .stat-card:hover::before {
485
+ opacity: 1;
486
+ }
487
+
488
+ .stat-card:hover {
489
+ transform: translateY(-10px);
490
+ border-color: rgba(255, 168, 168, 0.6);
491
+ box-shadow: var(--shadow);
492
+ }
493
+
494
+ .stat-number {
495
+ font-size: 3.5rem;
496
+ font-weight: 800;
497
+ margin-bottom: var(--spacing-md);
498
+ background: var(--primary-gradient);
499
+ -webkit-background-clip: text;
500
+ -webkit-text-fill-color: transparent;
501
+ background-clip: text;
502
+ display: block;
503
+ position: relative;
504
+ z-index: 1;
505
+ line-height: 1.1;
506
+ }
507
+
508
+ .stat-label {
509
+ font-size: var(--font-size-lg);
510
+ color: var(--text-secondary);
511
+ font-weight: 500;
512
+ position: relative;
513
+ z-index: 1;
514
+ }
515
+
516
+ .stat-icon {
517
+ font-size: var(--font-size-4xl);
518
+ background: var(--primary-gradient);
519
+ -webkit-background-clip: text;
520
+ -webkit-text-fill-color: transparent;
521
+ background: var(--glass-bg);
522
+ padding: var(--spacing-lg);
523
+ border-radius: var(--border-radius);
524
+ border: 1px solid var(--glass-border);
525
+ display: flex;
526
+ align-items: center;
527
+ justify-content: center;
528
+ min-width: 80px;
529
+ height: 80px;
530
+ }
531
+
532
+ .stats-cards {
533
+ display: grid;
534
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
535
+ gap: var(--spacing-xl);
536
+ margin-bottom: var(--spacing-2xl);
537
+ }
538
+
539
+ .stats-cards .stat-card {
540
+ display: flex;
541
+ align-items: center;
542
+ gap: var(--spacing-xl);
543
+ padding: 2.5rem;
544
+ text-align: left;
545
+ background: var(--glass-bg);
546
+ backdrop-filter: blur(20px);
547
+ border: 1px solid var(--glass-border);
548
+ border-radius: var(--border-radius-lg);
549
+ box-shadow: var(--shadow);
550
+ transition: var(--transition-base);
551
+ }
552
+
553
+ .stats-cards .stat-card:hover {
554
+ transform: translateY(-5px);
555
+ box-shadow: var(--shadow-lg);
556
+ }
557
+
558
+ .stat-info {
559
+ flex: 1;
560
+ }
561
+
562
+ .stat-info .stat-number {
563
+ font-size: 2.5rem;
564
+ margin-bottom: var(--spacing-sm);
565
+ background: var(--primary-gradient);
566
+ -webkit-background-clip: text;
567
+ -webkit-text-fill-color: transparent;
568
+ font-weight: 800;
569
+ line-height: 1.1;
570
+ }
571
+
572
+ .stat-info .stat-label {
573
+ font-size: var(--font-size-base);
574
+ color: var(--text-secondary);
575
+ font-weight: 500;
576
  }
577
 
578
+ .stat-item {
579
+ text-align: center;
580
+ padding: var(--spacing-lg);
581
  background: var(--glass-bg);
582
+ border-radius: var(--border-radius);
583
  border: 1px solid var(--glass-border);
 
 
 
584
  transition: var(--transition-base);
585
+ min-height: 100px;
586
+ display: flex;
587
+ flex-direction: column;
588
+ justify-content: center;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
589
  }
590
 
591
+ .stat-item:hover {
592
+ transform: translateY(-3px);
 
593
  box-shadow: var(--shadow);
594
  }
595
 
596
+ .stat-value {
597
+ display: block;
598
+ font-size: 2.2rem;
599
  font-weight: 800;
 
600
  background: var(--primary-gradient);
601
  -webkit-background-clip: text;
602
  -webkit-text-fill-color: transparent;
603
+ margin-bottom: var(--spacing-sm);
 
 
604
  line-height: 1.1;
605
  }
606
 
607
+ /* ===== AUTH CONTAINER ===== */
 
 
 
 
 
 
 
608
  .auth-container {
609
  min-height: 100vh;
610
  display: flex;
 
725
  background: rgba(255, 255, 255, 0.8);
726
  }
727
 
728
+ /* ===== DASHBOARD ===== */
729
  .dashboard-container {
730
  display: flex;
731
  min-height: calc(100vh - 80px);
 
743
  overflow-y: auto;
744
  }
745
 
746
+ .sidebar-menu {
747
+ display: flex;
748
+ flex-direction: column;
749
+ gap: var(--spacing-sm);
750
+ padding: 0 var(--spacing-lg);
751
+ }
752
+
753
+ .menu-item {
754
+ display: flex;
755
+ align-items: center;
756
+ gap: var(--spacing-md);
757
+ padding: 1.2rem var(--spacing-lg);
758
+ color: var(--text-muted);
759
+ text-decoration: none;
760
+ border-radius: var(--border-radius);
761
+ transition: var(--transition-base);
762
+ font-weight: 500;
763
+ position: relative;
764
+ background: transparent;
765
+ border: 1px solid transparent;
766
+ min-height: 52px;
767
+ }
768
+
769
+ .menu-item::before {
770
+ content: '';
771
+ position: absolute;
772
+ left: 0;
773
+ top: 50%;
774
+ transform: translateY(-50%);
775
+ width: 4px;
776
+ height: 0;
777
+ background: var(--primary-gradient);
778
+ border-radius: 2px;
779
+ transition: height var(--transition-base);
780
+ }
781
+
782
+ .menu-item:hover,
783
+ .menu-item.active {
784
+ background: var(--glass-bg);
785
+ color: var(--text-primary);
786
+ transform: translateX(8px);
787
+ border-color: var(--glass-border);
788
+ }
789
+
790
+ .menu-item:hover::before,
791
+ .menu-item.active::before {
792
+ height: 30px;
793
+ }
794
+
795
+ .main-content {
796
+ flex: 1;
797
+ padding: 2.5rem;
798
+ overflow-y: auto;
799
+ max-width: calc(100vw - 280px);
800
+ }
801
+
802
+ .section {
803
+ display: none;
804
+ animation: fadeInUp var(--transition-slow);
805
+ }
806
+
807
+ .section.active {
808
+ display: block;
809
+ }
810
+
811
+ @keyframes fadeInUp {
812
+ from {
813
+ opacity: 0;
814
+ transform: translateY(20px);
815
+ }
816
+ to {
817
+ opacity: 1;
818
+ transform: translateY(0);
819
+ }
820
+ }
821
+
822
+ .section h2 {
823
+ font-size: 2.8rem;
824
+ margin-bottom: 2.5rem;
825
+ font-weight: 800;
826
+ background: var(--primary-gradient);
827
+ -webkit-background-clip: text;
828
+ -webkit-text-fill-color: transparent;
829
+ display: flex;
830
+ align-items: center;
831
+ gap: var(--spacing-sm);
832
+ letter-spacing: -0.02em;
833
+ }
834
+
835
+ /* ===== PLUGINS ===== */
836
+ .plugins-grid {
837
+ display: grid;
838
+ grid-template-columns: 1fr;
839
+ gap: var(--spacing-xl);
840
+ }
841
+
842
+ .plugin-card {
843
+ background: var(--glass-bg);
844
+ backdrop-filter: blur(20px);
845
+ border: 1px solid var(--glass-border);
846
+ border-radius: var(--border-radius-lg);
847
+ overflow: hidden;
848
+ transition: var(--transition-slow);
849
+ box-shadow: var(--shadow);
850
+ }
851
+
852
+ .plugin-card:hover {
853
+ border-color: rgba(255, 168, 168, 0.6);
854
+ transform: translateY(-5px);
855
+ box-shadow: var(--shadow-lg);
856
+ }
857
+
858
+ .plugin-card.expanded {
859
+ border-color: rgba(255, 168, 168, 0.8);
860
+ box-shadow: var(--shadow-lg);
861
+ }
862
+
863
+ .plugin-header {
864
+ display: flex;
865
+ justify-content: space-between;
866
+ align-items: center;
867
+ padding: var(--spacing-xl);
868
+ cursor: pointer;
869
+ user-select: none;
870
+ transition: background var(--transition-base);
871
+ min-height: 80px;
872
+ }
873
+
874
+ .plugin-header:hover {
875
+ background: rgba(255, 255, 255, 0.3);
876
+ }
877
+
878
+ .plugin-left {
879
+ display: flex;
880
+ align-items: center;
881
+ gap: var(--spacing-md);
882
+ flex: 1;
883
+ }
884
+
885
+ .plugin-name {
886
+ font-size: var(--font-size-xl);
887
+ font-weight: 700;
888
+ color: var(--text-primary);
889
+ margin-bottom: var(--spacing-sm);
890
+ }
891
+
892
+ .plugin-description {
893
+ color: var(--text-secondary);
894
+ font-size: var(--font-size-base);
895
+ line-height: 1.5;
896
+ }
897
+
898
+ .plugin-type {
899
+ background: var(--primary-gradient);
900
+ color: white;
901
+ padding: var(--spacing-sm) var(--spacing-md);
902
+ border-radius: 20px;
903
+ font-size: var(--font-size-xs);
904
+ font-weight: 600;
905
+ text-transform: uppercase;
906
+ letter-spacing: 0.5px;
907
+ box-shadow: 0 2px 10px rgba(255, 168, 168, 0.3);
908
+ white-space: nowrap;
909
+ min-height: 32px;
910
+ display: flex;
911
+ align-items: center;
912
+ }
913
+
914
+ .plugin-expand {
915
+ font-size: var(--font-size-2xl);
916
+ color: var(--text-muted);
917
+ transition: var(--transition-base);
918
+ margin-left: var(--spacing-md);
919
+ }
920
+
921
+ .plugin-expand.expanded {
922
+ transform: rotate(180deg);
923
+ color: #FFA8A8;
924
+ }
925
+
926
+ .plugin-content {
927
+ display: none;
928
+ border-top: 1px solid var(--glass-border);
929
+ background: rgba(255, 255, 255, 0.3);
930
+ }
931
+
932
+ .plugin-content.expanded {
933
+ display: block;
934
+ animation: slideDown var(--transition-base);
935
+ }
936
+
937
+ @keyframes slideDown {
938
+ from { opacity: 0; max-height: 0; }
939
+ to { opacity: 1; max-height: 1000px; }
940
+ }
941
+
942
+ .plugin-details {
943
+ padding: var(--spacing-xl);
944
+ }
945
+
946
+ .plugin-tags {
947
  display: flex;
948
+ flex-wrap: wrap;
949
  gap: var(--spacing-sm);
950
+ margin-bottom: var(--spacing-lg);
951
  }
952
 
953
+ .tag {
954
+ background: rgba(255, 168, 168, 0.2);
955
+ color: #FFA8A8;
956
+ padding: var(--spacing-xs) var(--spacing-md);
957
+ border-radius: 15px;
958
+ font-size: var(--font-size-xs);
959
+ font-weight: 500;
960
+ border: 1px solid rgba(255, 168, 168, 0.3);
961
+ transition: var(--transition-base);
962
+ min-height: 28px;
963
  display: flex;
964
  align-items: center;
965
+ }
966
+
967
+ .tag:hover {
968
+ background: rgba(255, 168, 168, 0.35);
969
+ transform: translateY(-2px);
970
+ }
971
+
972
+ .plugin-routes {
973
+ background: rgba(255, 255, 255, 0.4);
974
+ padding: var(--spacing-lg);
975
  border-radius: var(--border-radius);
976
+ font-family: 'JetBrains Mono', monospace;
977
+ font-size: var(--font-size-sm);
978
+ color: #1a1a1a;
979
+ border: 1px solid var(--glass-border);
980
+ overflow-x: auto;
981
+ margin-bottom: var(--spacing-lg);
982
+ }
983
+
984
+ .plugins-search {
985
+ margin-bottom: 2rem;
986
+ }
987
+
988
+ .search-container {
989
  position: relative;
990
+ max-width: 500px;
991
+ margin: 0 auto;
 
992
  }
993
 
994
+ .search-container i.fa-search {
 
995
  position: absolute;
996
+ left: 1rem;
997
  top: 50%;
998
  transform: translateY(-50%);
999
+ color: #8D96FF;
1000
+ z-index: 1;
 
 
 
1001
  }
1002
 
1003
+ .search-container input {
1004
+ width: 100%;
1005
+ padding: 1rem 1rem 1rem 3rem;
1006
+ border: 2px solid rgba(255, 168, 168, 0.3);
1007
+ border-radius: 25px;
1008
+ background: rgba(255, 255, 255, 0.5);
1009
  color: var(--text-primary);
1010
+ font-size: 1rem;
1011
+ transition: all 0.3s ease;
1012
  }
1013
 
1014
+ .search-container input:focus {
1015
+ outline: none;
1016
+ border-color: #FFA8A8;
1017
+ background: rgba(255, 255, 255, 0.7);
1018
+ box-shadow: 0 0 20px rgba(255, 168, 168, 0.3);
1019
  }
1020
 
1021
+ .search-container input::placeholder {
1022
+ color: var(--text-muted);
 
 
 
1023
  }
1024
 
1025
+ .search-container button {
1026
+ position: absolute;
1027
+ right: 0.5rem;
1028
+ top: 50%;
1029
+ transform: translateY(-50%);
1030
+ background: #FFA8A8;
1031
+ border: none;
1032
+ border-radius: 50%;
1033
+ width: 2.5rem;
1034
+ height: 2.5rem;
1035
+ color: white;
1036
+ cursor: pointer;
1037
+ transition: all 0.3s ease;
1038
  }
1039
 
1040
+ .search-container button:hover {
1041
+ background: #FF8E8E;
1042
+ transform: translateY(-50%) scale(1.1);
1043
  }
1044
 
1045
+ .tag-section {
1046
+ margin-bottom: 2rem;
1047
+ background: rgba(255, 255, 255, 0.03);
1048
+ backdrop-filter: blur(5px);
1049
+ border-radius: 16px;
1050
+ border: 1px solid rgba(0, 0, 0, 0.4);
1051
+ overflow: hidden;
1052
+ transition: all 0.3s ease;
 
1053
  }
1054
 
1055
+ .tag-section:hover {
1056
+ background: rgba(255, 255, 255, 0.05);
1057
+ border: 1px solid rgba(0, 0, 0, 0.5);
1058
+ }
1059
+
1060
+ .tag-header {
1061
+ padding: 1.5rem;
1062
+ cursor: pointer;
1063
  display: flex;
1064
+ justify-content: space-between;
1065
  align-items: center;
1066
+ transition: all 0.3s ease;
1067
+ background: rgba(255, 255, 255, 0.02);
1068
  }
1069
 
1070
+ .tag-header:hover {
1071
+ background: rgba(255, 255, 255, 0.05);
 
 
 
1072
  }
1073
 
1074
+ .tag-title {
1075
  display: flex;
1076
  align-items: center;
1077
+ gap: 1rem;
1078
+ font-size: 1.2rem;
1079
+ font-weight: 600;
1080
+ color: rgba(255, 255, 255, 0.9);
 
 
 
 
 
1081
  }
1082
 
1083
+ .tag-title i {
1084
+ color: rgba(133, 48, 48, 0.9);
1085
+ font-size: 1.3rem;
1086
  }
1087
 
1088
+ .plugin-count {
1089
+ background: rgba(133, 48, 48, 0.2);
1090
+ color: rgba(255, 168, 168, 0.9);
1091
+ padding: 0.3rem 0.8rem;
1092
+ border-radius: 12px;
1093
+ font-size: 0.85rem;
1094
+ font-weight: 500;
 
 
 
 
 
 
 
1095
  }
1096
 
1097
+ .tag-expand {
1098
+ color: rgba(255, 255, 255, 0.6);
1099
+ font-size: 1.2rem;
1100
+ transition: transform 0.3s ease;
1101
  }
1102
 
1103
+ .tag-expand.expanded {
1104
+ transform: rotate(180deg);
 
 
 
 
 
 
1105
  }
1106
 
1107
+ .tag-content {
1108
+ max-height: 0;
1109
+ overflow: hidden;
1110
+ transition: max-height 0.4s ease;
1111
+ padding: 0 1.5rem;
1112
+ }
1113
+
1114
+ .tag-content.expanded {
1115
+ max-height: 10000px;
1116
+ padding: 1.5rem;
1117
+ }
1118
+
1119
+ .tag-content .plugin-card {
1120
+ margin-bottom: 1rem;
1121
+ }
1122
+
1123
+ .tag-content .plugin-card:last-child {
1124
+ margin-bottom: 0;
1125
  }
1126
 
1127
+ /* ===== FORMS ===== */
1128
  .plugin-form {
1129
  background: rgba(255, 255, 255, 0.4);
1130
  border-radius: var(--border-radius);
 
1209
 
1210
  .input-group {
1211
  display: flex;
1212
+ gap: var(--spacing-md);
1213
+ align-items: end;
1214
+ flex-wrap: wrap;
1215
+ }
1216
+
1217
+ .input-group input {
1218
+ flex: 1;
1219
+ min-width: 200px;
1220
+ }
1221
+
1222
+ .btn-execute {
1223
+ background: var(--primary-gradient);
1224
+ color: white;
1225
+ border: none;
1226
+ padding: var(--spacing-md) var(--spacing-xl);
1227
+ border-radius: var(--border-radius);
1228
+ font-weight: 600;
1229
+ cursor: pointer;
1230
+ transition: var(--transition-base);
1231
+ display: flex;
1232
+ align-items: center;
1233
+ gap: var(--spacing-sm);
1234
+ font-size: var(--font-size-base);
1235
+ box-shadow: 0 4px 20px rgba(255, 168, 168, 0.3);
1236
+ min-height: 48px;
1237
  }
1238
 
1239
+ .btn-execute:hover:not(:disabled) {
1240
+ transform: translateY(-3px);
1241
+ box-shadow: 0 8px 30px rgba(255, 168, 168, 0.4);
1242
  }
1243
 
1244
+ .btn-execute:disabled {
1245
+ opacity: 0.6;
1246
+ cursor: not-allowed;
1247
+ transform: none !important;
1248
+ box-shadow: none !important;
 
 
1249
  }
1250
 
1251
+ .btn-reset {
1252
+ background: var(--glass-bg);
1253
+ color: var(--text-secondary);
1254
+ border: 1px solid var(--glass-border);
1255
+ padding: var(--spacing-md) var(--spacing-xl);
1256
+ border-radius: var(--border-radius);
1257
+ font-weight: 500;
1258
+ cursor: pointer;
1259
+ transition: var(--transition-base);
1260
+ display: flex;
1261
+ align-items: center;
1262
+ gap: var(--spacing-sm);
1263
+ font-size: var(--font-size-base);
1264
+ backdrop-filter: blur(10px);
1265
+ min-height: 48px;
1266
  }
1267
 
1268
+ .btn-reset:hover {
1269
+ background: var(--glass-hover);
1270
+ color: var(--text-primary);
1271
+ transform: translateY(-2px);
 
1272
  }
1273
 
1274
+ /* ===== RESPONSE ===== */
1275
  .response-container {
1276
  margin-top: var(--spacing-xl);
1277
  display: none;
 
1348
  color: #FFA8A8;
1349
  padding: var(--spacing-sm) var(--spacing-md);
1350
  border-radius: var(--border-radius);
1351
+ font-size: var(--font-size-xs);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1352
  cursor: pointer;
1353
  transition: var(--transition-base);
1354
  display: flex;
1355
  align-items: center;
1356
+ gap: var(--spacing-xs);
1357
+ min-height: 32px;
 
 
1358
  }
1359
 
1360
+ .copy-btn:hover {
1361
+ background: rgba(255, 168, 168, 0.35);
 
1362
  transform: translateY(-2px);
1363
  }
1364
 
1365
+ .loading-spinner {
1366
+ width: 20px;
1367
+ height: 20px;
1368
+ border: 2px solid rgba(255, 168, 168, 0.3);
1369
+ border-radius: 50%;
1370
+ border-top-color: #FFA8A8;
1371
+ animation: spin 1s linear infinite;
1372
+ }
1373
+
1374
+ @keyframes spin {
1375
+ to { transform: rotate(360deg); }
1376
+ }
1377
+
1378
+ .loading {
1379
+ text-align: center;
1380
+ padding: var(--spacing-2xl);
1381
+ color: var(--text-muted);
1382
+ font-size: var(--font-size-lg);
1383
  }
1384
 
1385
+ /* ===== PROFILE ===== */
1386
  .profile-container {
1387
  max-width: 1000px;
1388
  margin: var(--spacing-xl) auto;
 
1461
  text-transform: uppercase;
1462
  letter-spacing: 0.5px;
1463
  backdrop-filter: blur(10px);
 
1464
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
1465
  transition: all 0.3s ease;
1466
  border: 1px solid;
 
1673
  font-size: var(--font-size-sm);
1674
  }
1675
 
1676
+ /* ===== REDEEM & SETTINGS ===== */
1677
  .redeem-section,
1678
  .setting-card,
1679
  .admin-card {
 
1751
  line-height: 1.5;
1752
  }
1753
 
1754
+ .admin-card .ban-actions {
1755
+ display: flex;
1756
+ gap: 1rem;
1757
+ margin-bottom: 1rem;
1758
+ }
1759
+
1760
+ .admin-card .ban-actions .btn {
1761
+ flex: 1;
1762
+ padding: 0.75rem 1rem;
1763
+ border: none;
1764
+ border-radius: 8px;
1765
+ font-weight: 500;
1766
+ cursor: pointer;
1767
+ transition: all 0.3s ease;
1768
+ }
1769
+
1770
+ .admin-card .ban-actions .btn-danger {
1771
+ background: #e74c3c;
1772
+ color: white;
1773
+ }
1774
+
1775
+ .admin-card .ban-actions .btn-danger:hover {
1776
+ background: #c0392b;
1777
+ transform: translateY(-2px);
1778
+ }
1779
+
1780
+ .admin-card .ban-actions .btn-success {
1781
+ background: #8D96FF;
1782
+ color: white;
1783
+ }
1784
+
1785
+ .admin-card .ban-actions .btn-success:hover {
1786
+ background: #7580EE;
1787
+ transform: translateY(-2px);
1788
+ }
1789
+
1790
+ .ban-status {
1791
+ padding: 1rem;
1792
+ border-radius: 8px;
1793
+ margin-top: 1rem;
1794
+ font-weight: 500;
1795
+ }
1796
+
1797
+ .ban-status.banned {
1798
+ background: rgba(231, 76, 60, 0.1);
1799
+ border: 1px solid #e74c3c;
1800
+ color: #e74c3c;
1801
+ }
1802
+
1803
+ .ban-status.active {
1804
+ background: rgba(141, 150, 255, 0.1);
1805
+ border: 1px solid #8D96FF;
1806
+ color: #8D96FF;
1807
+ }
1808
+
1809
+ /* ===== USAGE & ACTIVITY ===== */
1810
  .usage-progress {
1811
  margin-bottom: var(--spacing-lg);
1812
  }
 
1881
  min-width: 20px;
1882
  }
1883
 
1884
+ .usage-timeline {
1885
+ background: rgba(255, 255, 255, 0.5);
1886
+ border-radius: 15px;
1887
+ padding: 1.5rem;
1888
+ margin-top: 1rem;
1889
+ }
1890
+
1891
+ .timeline-item {
1892
  display: flex;
1893
+ align-items: center;
1894
+ padding: 0.75rem 0;
1895
+ border-bottom: 1px solid rgba(255, 168, 168, 0.2);
1896
+ }
1897
+
1898
+ .timeline-item:last-child {
1899
+ border-bottom: none;
1900
+ }
1901
+
1902
+ .timeline-icon {
1903
+ width: 40px;
1904
+ height: 40px;
1905
+ border-radius: 50%;
1906
+ background: linear-gradient(135deg, #FFA8A8, #8D96FF);
1907
+ display: flex;
1908
+ align-items: center;
1909
  justify-content: center;
1910
+ color: white;
1911
+ margin-right: 1rem;
1912
  }
1913
 
1914
+ .timeline-content {
1915
+ flex: 1;
 
1916
  }
1917
 
1918
+ .timeline-title {
1919
+ font-weight: 600;
1920
+ color: var(--text-primary);
1921
+ margin-bottom: 0.25rem;
1922
+ }
1923
+
1924
+ .timeline-details {
1925
+ font-size: 0.875rem;
1926
+ color: var(--text-secondary);
1927
+ }
1928
+
1929
+ .timeline-time {
1930
+ font-size: 0.75rem;
1931
+ color: var(--text-muted);
1932
+ margin-left: auto;
1933
  }
1934
 
1935
  .usage-chart {
 
1973
  margin-top: var(--spacing-sm);
1974
  }
1975
 
1976
+ .events-container {
1977
+ max-width: 600px;
1978
+ }
1979
+
1980
+ /* ===== FOOTER ===== */
1981
  .footer {
1982
  background: rgba(255, 255, 255, 0.6);
1983
  border-top: 1px solid var(--glass-border);
1984
+ padding: 4rem 0 2rem;
 
1985
  color: var(--text-secondary);
1986
  }
1987
 
1988
+ .footer a:hover {
1989
+ color: #FFA8A8 !important;
1990
+ }
1991
+
1992
+ /* ===== SCROLLBAR ===== */
1993
  ::-webkit-scrollbar {
1994
  width: 8px;
1995
  height: 8px;
 
2009
  background: linear-gradient(135deg, #FF8E8E 0%, #7580EE 100%);
2010
  }
2011
 
2012
+ /* ===== SWEETALERT2 ===== */
2013
  .swal2-popup {
2014
  background: rgba(255, 255, 255, 0.9) !important;
2015
  backdrop-filter: blur(20px) !important;
 
2052
  padding: var(--spacing-md) !important;
2053
  }
2054
 
2055
+ /* ===== RESPONSIVE DESIGN ===== */
2056
  @media (max-width: 1200px) {
2057
  .nav-menu {
2058
  gap: var(--spacing-md);
 
2119
  font-size: 2rem;
2120
  }
2121
 
2122
+ .hero-subtitle {
2123
+ font-size: var(--font-size-base);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2124
  }
2125
 
2126
  .hero-buttons {
 
2129
  gap: var(--spacing-md);
2130
  }
2131
 
2132
+ .section-title {
2133
+ font-size: 2rem;
2134
+ }
2135
+
2136
  .features-grid,
2137
  .stats-grid {
2138
  grid-template-columns: 1fr;
 
2247
  .profile-section {
2248
  padding: var(--spacing-lg);
2249
  }
2250
+
2251
+ .form-field input,
2252
+ .form-field select,
2253
+ .form-group input,
2254
+ .form-group select,
2255
+ .btn,
2256
+ .menu-item,
2257
+ .api-key-display {
2258
+ min-height: 44px;
2259
+ }
2260
+
2261
+ .btn-sm {
2262
+ min-height: 32px;
2263
+ }
2264
  }
2265
 
2266
  @media (max-width: 480px) {
 
2272
  padding: 3rem var(--spacing-md) 2rem;
2273
  }
2274
 
2275
+ .hero-title {
2276
+ font-size: 1.75rem;
2277
+ }
2278
+
2279
+ .feature-card,
2280
+ .stat-card {
2281
+ padding: var(--spacing-lg);
2282
+ }
2283
+
2284
+ .feature-icon {
2285
+ font-size: 3rem;
2286
+ }
2287
+
2288
+ .stat-number {
2289
+ font-size: 2.5rem;
2290
+ }
2291
+
2292
+ .navbar-brand {
2293
+ font-size: var(--font-size-xl);
2294
+ }
2295
+
2296
+ .nav-link {
2297
+ justify-content: center;
2298
+ margin: var(--spacing-xs) 0;
2299
+ }
2300
+
2301
+ .sidebar-menu {
2302
+ padding: 0 var(--spacing-sm);
2303
+ }
2304
+
2305
+ .main-content {
2306
+ padding: var(--spacing-md);
2307
+ }
2308
+
2309
+ .stats-cards .stat-card,
2310
+ .plugin-details,
2311
+ .redeem-section,
2312
+ .setting-card,
2313
+ .admin-card,
2314
+ .profile-section {
2315
+ padding: var(--spacing-lg);
2316
+ }
2317
+
2318
+ .plugin-header {
2319
+ padding: var(--spacing-md);
2320
+ }
2321
+ }