adminator-admin-dashboard 2.9.0 → 4.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +422 -0
  2. package/CLAUDE.md +126 -154
  3. package/README.md +322 -376
  4. package/dist/2026.js +8751 -0
  5. package/dist/2026.js.map +1 -0
  6. package/dist/404.html +36 -16
  7. package/dist/500.html +36 -16
  8. package/dist/assets/static/images/logo.svg +3 -3
  9. package/dist/basic-table.html +152 -699
  10. package/dist/blank.html +42 -507
  11. package/dist/buttons.html +152 -448
  12. package/dist/calendar.html +246 -658
  13. package/dist/charts.html +124 -658
  14. package/dist/chat.html +209 -706
  15. package/dist/compose.html +141 -618
  16. package/dist/datatable.html +467 -991
  17. package/dist/email.html +430 -943
  18. package/dist/forms.html +208 -733
  19. package/dist/google-maps.html +123 -513
  20. package/dist/index.html +436 -1041
  21. package/dist/runtime.js +1299 -0
  22. package/dist/runtime.js.map +1 -0
  23. package/dist/signin.html +92 -92
  24. package/dist/signup.html +106 -91
  25. package/dist/ui.html +268 -897
  26. package/dist/vector-maps.html +132 -511
  27. package/dist/vendor-chartjs.js +14593 -0
  28. package/dist/vendor-chartjs.js.map +1 -0
  29. package/dist/vendor-fullcalendar.js +14793 -0
  30. package/dist/vendor-fullcalendar.js.map +1 -0
  31. package/dist/vendors.js +3758 -0
  32. package/dist/vendors.js.map +1 -0
  33. package/package.json +47 -50
  34. package/src/404.html +35 -15
  35. package/src/500.html +35 -15
  36. package/src/assets/scripts/2026/Shell.js +312 -0
  37. package/src/assets/scripts/2026/calendar.js +123 -0
  38. package/src/assets/scripts/2026/charts.js +259 -0
  39. package/src/assets/scripts/2026/index.js +35 -0
  40. package/src/assets/scripts/2026/init.js +207 -0
  41. package/src/assets/scripts/2026/maps.js +78 -0
  42. package/src/assets/scripts/2026/palette.js +266 -0
  43. package/src/assets/static/images/logo.svg +3 -3
  44. package/src/assets/styles/2026/_animations.scss +14 -0
  45. package/src/assets/styles/2026/_auth.scss +215 -0
  46. package/src/assets/styles/2026/_base.scss +37 -0
  47. package/src/assets/styles/2026/_calendar.scss +380 -0
  48. package/src/assets/styles/2026/_charts.scss +44 -0
  49. package/src/assets/styles/2026/_chat.scss +350 -0
  50. package/src/assets/styles/2026/_components.scss +140 -0
  51. package/src/assets/styles/2026/_dashboard.scss +520 -0
  52. package/src/assets/styles/2026/_data.scss +130 -0
  53. package/src/assets/styles/2026/_dropdowns.scss +128 -0
  54. package/src/assets/styles/2026/_email.scss +599 -0
  55. package/src/assets/styles/2026/_error.scss +98 -0
  56. package/src/assets/styles/2026/_forms.scss +215 -0
  57. package/src/assets/styles/2026/_fullcalendar.scss +134 -0
  58. package/src/assets/styles/2026/_palette.scss +173 -0
  59. package/src/assets/styles/2026/_responsive.scss +229 -0
  60. package/src/assets/styles/2026/_shell.scss +290 -0
  61. package/src/assets/styles/2026/_tokens.scss +80 -0
  62. package/src/assets/styles/2026/_ui.scss +365 -0
  63. package/src/assets/styles/2026/index.scss +23 -0
  64. package/src/basic-table.html +153 -710
  65. package/src/blank.html +42 -517
  66. package/src/buttons.html +152 -458
  67. package/src/calendar.html +246 -668
  68. package/src/charts.html +124 -668
  69. package/src/chat.html +209 -716
  70. package/src/compose.html +142 -629
  71. package/src/datatable.html +466 -1000
  72. package/src/email.html +429 -952
  73. package/src/forms.html +207 -742
  74. package/src/google-maps.html +128 -523
  75. package/src/index.html +438 -1050
  76. package/src/signin.html +92 -92
  77. package/src/signup.html +106 -91
  78. package/src/ui.html +267 -906
  79. package/src/vector-maps.html +133 -522
  80. package/dist/1e59d2330b4c6deb84b3.ttf +0 -0
  81. package/dist/20fd1704ea223900efa9.woff2 +0 -0
  82. package/dist/29b39089170885ae2967.woff +0 -0
  83. package/dist/8b43027f47b20503057d.eot +0 -0
  84. package/dist/9bad94440d49256265a5.eot +0 -0
  85. package/dist/assets/fontawesome-webfont.svg +0 -2671
  86. package/dist/assets/themify.svg +0 -362
  87. package/dist/eda8b94308c6f538f04a.ttf +0 -0
  88. package/dist/f691f37e57f04c152e23.woff +0 -0
  89. package/dist/main.js +0 -61331
  90. package/dist/main.js.map +0 -1
  91. package/src/assets/scripts/app 2.js +0 -645
  92. package/src/assets/scripts/app.js +0 -645
  93. package/src/assets/scripts/charts/chartJS/index.js +0 -148
  94. package/src/assets/scripts/charts/easyPieChart/index.js +0 -200
  95. package/src/assets/scripts/charts/index.js +0 -3
  96. package/src/assets/scripts/charts/sparkline/index.js +0 -208
  97. package/src/assets/scripts/chat/index.js +0 -11
  98. package/src/assets/scripts/components/Chart.js +0 -1390
  99. package/src/assets/scripts/components/Sidebar.js +0 -241
  100. package/src/assets/scripts/constants/colors.js +0 -274
  101. package/src/assets/scripts/datatable/index.js +0 -379
  102. package/src/assets/scripts/datepicker/index.js +0 -302
  103. package/src/assets/scripts/email/index.js +0 -25
  104. package/src/assets/scripts/fullcalendar/index.js +0 -86
  105. package/src/assets/scripts/googleMaps/index.js +0 -93
  106. package/src/assets/scripts/index.js +0 -18
  107. package/src/assets/scripts/masonry/index.js +0 -14
  108. package/src/assets/scripts/popover/index.js +0 -109
  109. package/src/assets/scripts/scrollbar/index.js +0 -10
  110. package/src/assets/scripts/search/index.js +0 -15
  111. package/src/assets/scripts/sidebar/index.js +0 -140
  112. package/src/assets/scripts/skycons/index.js +0 -52
  113. package/src/assets/scripts/ui/index.js +0 -412
  114. package/src/assets/scripts/utils/date.js +0 -242
  115. package/src/assets/scripts/utils/dom.js +0 -349
  116. package/src/assets/scripts/utils/index.js +0 -45
  117. package/src/assets/scripts/utils/theme.js +0 -107
  118. package/src/assets/scripts/vectorMaps/index.js +0 -277
  119. package/src/assets/styles/index.scss +0 -801
  120. package/src/assets/styles/spec/components/easyPieChart.scss +0 -11
  121. package/src/assets/styles/spec/components/footer.scss +0 -4
  122. package/src/assets/styles/spec/components/forms.scss +0 -288
  123. package/src/assets/styles/spec/components/index.scss +0 -9
  124. package/src/assets/styles/spec/components/loader.scss +0 -46
  125. package/src/assets/styles/spec/components/masonry.scss +0 -1
  126. package/src/assets/styles/spec/components/pageContainer.scss +0 -255
  127. package/src/assets/styles/spec/components/progressBar.scss +0 -6
  128. package/src/assets/styles/spec/components/sidebar.scss +0 -642
  129. package/src/assets/styles/spec/components/topbar.scss +0 -455
  130. package/src/assets/styles/spec/generic/base.scss +0 -102
  131. package/src/assets/styles/spec/generic/index.scss +0 -1
  132. package/src/assets/styles/spec/index.scss +0 -4
  133. package/src/assets/styles/spec/screens/chat.scss +0 -147
  134. package/src/assets/styles/spec/screens/email.scss +0 -108
  135. package/src/assets/styles/spec/screens/index.scss +0 -2
  136. package/src/assets/styles/spec/settings/baseColors.scss +0 -103
  137. package/src/assets/styles/spec/settings/borders.scss +0 -6
  138. package/src/assets/styles/spec/settings/breakpoints.scss +0 -26
  139. package/src/assets/styles/spec/settings/fonts.scss +0 -4
  140. package/src/assets/styles/spec/settings/index.scss +0 -4
  141. package/src/assets/styles/spec/settings/materialColors.scss +0 -550
  142. package/src/assets/styles/spec/tools/index.scss +0 -1
  143. package/src/assets/styles/spec/tools/mixins/clearfix.scss +0 -15
  144. package/src/assets/styles/spec/tools/mixins/index.scss +0 -3
  145. package/src/assets/styles/spec/tools/mixins/mediaQueriesRanges.scss +0 -58
  146. package/src/assets/styles/spec/tools/mixins/placeholder.scss +0 -10
  147. package/src/assets/styles/spec/utils/colors.scss +0 -33
  148. package/src/assets/styles/spec/utils/index.scss +0 -2
  149. package/src/assets/styles/spec/utils/layout/helpers/border.scss +0 -78
  150. package/src/assets/styles/spec/utils/layout/helpers/flex.scss +0 -220
  151. package/src/assets/styles/spec/utils/layout/helpers/index.scss +0 -11
  152. package/src/assets/styles/spec/utils/layout/helpers/layout.scss +0 -137
  153. package/src/assets/styles/spec/utils/layout/helpers/lists.scss +0 -23
  154. package/src/assets/styles/spec/utils/layout/helpers/margin.scss +0 -266
  155. package/src/assets/styles/spec/utils/layout/helpers/objects.scss +0 -91
  156. package/src/assets/styles/spec/utils/layout/helpers/padding.scss +0 -147
  157. package/src/assets/styles/spec/utils/layout/helpers/positions.scss +0 -118
  158. package/src/assets/styles/spec/utils/layout/helpers/pseudo.scss +0 -6
  159. package/src/assets/styles/spec/utils/layout/helpers/sizes.scss +0 -157
  160. package/src/assets/styles/spec/utils/layout/helpers/typography.scss +0 -127
  161. package/src/assets/styles/spec/utils/layout/index.scss +0 -3
  162. package/src/assets/styles/spec/utils/layout/mixins/generateResponsive.scss +0 -25
  163. package/src/assets/styles/spec/utils/layout/mixins/index.scss +0 -2
  164. package/src/assets/styles/spec/utils/layout/mixins/mediaQueryCondition.scss +0 -28
  165. package/src/assets/styles/spec/utils/layout/utils/center.scss +0 -54
  166. package/src/assets/styles/spec/utils/layout/utils/gap.scss +0 -229
  167. package/src/assets/styles/spec/utils/layout/utils/index.scss +0 -5
  168. package/src/assets/styles/spec/utils/layout/utils/layers.scss +0 -5
  169. package/src/assets/styles/spec/utils/layout/utils/peers.scss +0 -35
  170. package/src/assets/styles/utils/mobile.scss +0 -954
  171. package/src/assets/styles/utils/theme.css +0 -97
  172. package/src/assets/styles/vendor/datepicker.scss +0 -183
  173. package/src/assets/styles/vendor/font-awesome.css +0 -2337
  174. package/src/assets/styles/vendor/fullcalendar.scss +0 -217
  175. package/src/assets/styles/vendor/index.scss +0 -8
  176. package/src/assets/styles/vendor/jquery.datatables.scss +0 -162
  177. package/src/assets/styles/vendor/perfectScrollbar.scss +0 -4
  178. package/src/assets/styles/vendor/sparkline.scss +0 -6
  179. package/src/assets/styles/vendor/themify-icons.css +0 -1081
@@ -1,954 +0,0 @@
1
- // Mobile Utility Classes and Fixes
2
- // This file contains mobile-specific utility classes and responsive fixes
3
-
4
- // Mobile text utilities - Only hide theme labels on very small screens
5
- @media (max-width: 480px) {
6
- .theme-toggle .form-check-label {
7
- display: none !important;
8
- }
9
-
10
- .theme-toggle {
11
- padding: 0 6px !important;
12
- height: 60px !important; // Match header height
13
- justify-content: center !important;
14
- min-height: 60px !important;
15
-
16
- .form-check {
17
- height: 100% !important;
18
-
19
- .form-check-label {
20
- font-size: 11px !important; // Slightly smaller for very small screens
21
- font-weight: 500 !important;
22
-
23
- i {
24
- font-size: 14px !important; // Still reasonable for tiny screens
25
- }
26
- }
27
-
28
- .form-check-input {
29
- margin: 0 6px !important;
30
- width: 38px !important; // Bigger than before but not huge for tiny screens
31
- height: 22px !important; // Bigger than before but not huge for tiny screens
32
- border-radius: 11px !important;
33
- border-width: 2px !important;
34
- }
35
- }
36
- }
37
-
38
- // Very small screen adjustments
39
- .d-none-xs {
40
- display: none !important;
41
- }
42
-
43
- .fs-xs {
44
- font-size: 10px !important;
45
- }
46
-
47
- .p-xs {
48
- padding: 5px !important;
49
- }
50
-
51
- .m-xs {
52
- margin: 5px !important;
53
- }
54
- }
55
-
56
- // Mobile dropdown improvements
57
- @media (max-width: 767px) {
58
- .dropdown-menu {
59
- // Ensure all dropdowns are mobile-friendly
60
- &.show {
61
- position: fixed !important;
62
- top: 65px !important;
63
- left: 5px !important;
64
- right: 5px !important;
65
- width: auto !important;
66
- transform: none !important;
67
- z-index: 1050;
68
- max-height: calc(100vh - 85px);
69
- overflow-y: auto;
70
- }
71
- }
72
-
73
- // Mobile notification improvements
74
- .notifications .dropdown-menu {
75
- .scrollable {
76
- max-height: 300px;
77
- overflow-y: auto;
78
- }
79
- }
80
- }
81
-
82
- // Mobile header compact mode
83
- @media (max-width: 991px) {
84
- .header .nav-right > li > a {
85
- padding: 0 6px !important;
86
- }
87
-
88
- .header .nav-left > li > a {
89
- padding: 0 8px !important;
90
- }
91
- }
92
-
93
- // Ultra-compact mode for very small screens
94
- @media (max-width: 480px) {
95
- .header .nav-right > li > a {
96
- padding: 0 4px !important;
97
- font-size: 14px !important;
98
- }
99
-
100
- .header .nav-left > li > a {
101
- padding: 0 6px !important;
102
- }
103
-
104
- // Hide search on very small screens when not active
105
- .search-box:not(.active) {
106
- display: none !important;
107
- }
108
- }
109
-
110
- // Mobile-specific spacing utilities
111
- .mobile-compact {
112
- @media (max-width: 767px) {
113
- padding: 5px !important;
114
- margin: 2px !important;
115
- }
116
- }
117
-
118
- .mobile-hidden {
119
- @media (max-width: 767px) {
120
- display: none !important;
121
- }
122
- }
123
-
124
- .mobile-only {
125
- display: none !important;
126
-
127
- @media (max-width: 767px) {
128
- display: block !important;
129
- }
130
- }
131
-
132
- // Prevent horizontal scroll on mobile
133
- .mobile-no-scroll {
134
- @media (max-width: 767px) {
135
- overflow-x: hidden !important;
136
- }
137
- }
138
-
139
- // COMPREHENSIVE Mobile Header Fixes
140
- // Better layout, bigger icons, full-width search, and desktop fixes
141
-
142
- // =============================================================================
143
- // DESKTOP FIXES - Remove top spacing issue
144
- // =============================================================================
145
-
146
- @media screen and (min-width: 768px) {
147
- .header {
148
- margin-top: 0 !important;
149
- top: 0 !important;
150
- }
151
-
152
- .page-container {
153
- padding-top: 61px !important; // Standard header height + 1px border
154
- }
155
-
156
- .main-content {
157
- margin-top: 0 !important;
158
- padding-top: 20px !important;
159
- }
160
-
161
- // DESKTOP THEME TOGGLE - Make sure it's fully visible
162
- .theme-toggle {
163
- display: flex !important;
164
- align-items: center !important;
165
- height: 65px !important;
166
- padding: 0 15px !important;
167
-
168
- .form-check {
169
- margin: 0 !important;
170
- display: flex !important;
171
- align-items: center !important;
172
-
173
- .form-check-label {
174
- color: var(--c-text-muted) !important;
175
- font-size: 11px !important;
176
- font-weight: 500 !important;
177
- text-transform: uppercase !important;
178
- letter-spacing: 0.5px !important;
179
- display: inline !important;
180
-
181
- i {
182
- font-size: 12px !important;
183
- }
184
- }
185
-
186
- .form-check-input {
187
- width: 2.5rem !important;
188
- height: 1.25rem !important;
189
- background-color: var(--c-border) !important;
190
- border: 1px solid var(--c-border) !important;
191
- cursor: pointer !important;
192
- margin: 0 8px !important;
193
-
194
- &:checked {
195
- background-color: var(--c-primary) !important;
196
- border-color: var(--c-primary) !important;
197
- }
198
-
199
- &:focus {
200
- box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--c-primary) 25%, transparent) !important;
201
- border-color: var(--c-primary) !important;
202
- }
203
- }
204
- }
205
- }
206
- }
207
-
208
- // =============================================================================
209
- // HEADER NAVIGATION MOBILE FIXES - ENHANCED LAYOUT
210
- // =============================================================================
211
-
212
- // Mobile header fixes with improved spacing and layout
213
- @media screen and (max-width: 767px) {
214
-
215
- // Force header to be fixed and proper height
216
- .header {
217
- position: fixed !important;
218
- top: 0 !important;
219
- left: 0 !important;
220
- right: 0 !important;
221
- z-index: 1000 !important;
222
- width: 100% !important;
223
- height: auto !important;
224
- min-height: 60px !important;
225
- padding: 0 !important;
226
- margin: 0 !important;
227
- margin-top: 0 !important; // Ensure no top margin on mobile
228
- }
229
-
230
- // Header container - IMPROVED EDGE-TO-EDGE LAYOUT
231
- .header .header-container {
232
- display: flex !important;
233
- align-items: center !important;
234
- justify-content: space-between !important;
235
- flex-wrap: nowrap !important;
236
- padding: 8px 8px !important; // Reduced side padding for more space
237
- height: auto !important;
238
- min-height: 60px !important;
239
- max-height: 60px !important;
240
- overflow: visible !important;
241
- gap: 12px !important; // Larger gap to push items apart
242
- }
243
-
244
- // LEFT SECTION: Logo + Hamburger + Search - PUSHED MORE LEFT
245
- .header .nav-left {
246
- display: flex !important;
247
- align-items: center !important;
248
- flex: 1 1 auto !important;
249
- margin: 0 !important;
250
- padding: 0 !important;
251
- float: none !important;
252
- max-width: 65% !important; // Increased width
253
- gap: 4px !important; // Tighter spacing between left items
254
- justify-content: flex-start !important; // Push to left edge
255
-
256
- // Logo first - positioned at far left
257
- &::before {
258
- content: "A" !important;
259
- display: inline-flex !important;
260
- align-items: center !important;
261
- justify-content: center !important;
262
- width: 32px !important;
263
- height: 32px !important;
264
- background: #007bff !important;
265
- color: white !important;
266
- border-radius: 6px !important;
267
- font-weight: bold !important;
268
- font-size: 18px !important;
269
- flex-shrink: 0 !important;
270
- order: -1 !important;
271
- margin-right: 6px !important; // Small margin to separate from hamburger
272
- }
273
-
274
- > li {
275
- display: inline-flex !important;
276
- align-items: center !important;
277
- margin: 0 !important;
278
- float: none !important;
279
-
280
- > a {
281
- padding: 8px 6px !important; // Reduced padding for tighter spacing
282
- margin: 0 !important;
283
- min-height: auto !important;
284
- line-height: 1 !important;
285
- display: flex !important;
286
- align-items: center !important;
287
- border-radius: 4px !important;
288
-
289
- i {
290
- font-size: 20px !important;
291
- margin: 0 !important;
292
- }
293
-
294
- // Hover state for better UX
295
- &:hover {
296
- background: rgba(0, 0, 0, 0.05) !important;
297
- }
298
- }
299
-
300
- // Sidebar toggle (hamburger)
301
- &:first-child > a {
302
- padding: 8px 6px !important;
303
-
304
- i {
305
- font-size: 22px !important;
306
- }
307
- }
308
-
309
- // Search toggle
310
- &.search-box > a {
311
- padding: 8px 6px !important;
312
-
313
- i {
314
- font-size: 20px !important;
315
- }
316
- }
317
- }
318
-
319
- // FULL-WIDTH SEARCH BAR - CLEANER DESIGN
320
- .search-input {
321
- display: none !important; // Hidden by default
322
- position: fixed !important; // Fixed positioning for full control
323
- top: 60px !important; // Right below header
324
- left: 0 !important;
325
- right: 0 !important;
326
- background: var(--c-bkg-card) !important;
327
- border-bottom: 1px solid var(--c-border) !important;
328
- padding: 15px 20px !important; // More padding for better appearance
329
- z-index: 9999 !important;
330
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important; // Subtle shadow
331
-
332
- &.active {
333
- display: block !important;
334
- }
335
-
336
- input {
337
- width: 100% !important;
338
- padding: 12px 16px !important; // Better padding
339
- font-size: 16px !important;
340
- border: 1px solid var(--c-border) !important;
341
- border-radius: 8px !important; // Rounded corners
342
- background: var(--c-bkg-body) !important;
343
- color: var(--c-text-base) !important;
344
- margin: 0 !important;
345
- outline: none !important;
346
-
347
- &::placeholder {
348
- color: var(--c-text-muted) !important;
349
- }
350
-
351
- &:focus {
352
- outline: none !important;
353
- border-color: var(--c-primary) !important;
354
- box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;
355
- }
356
- }
357
- }
358
- }
359
-
360
- // RIGHT SECTION: Notifications + Messages + Theme Toggle + Profile - PERFECT ALIGNMENT
361
- .header .nav-right {
362
- display: flex !important;
363
- align-items: center !important;
364
- flex: 0 0 auto !important;
365
- margin: 0 !important;
366
- padding: 0 !important;
367
- float: none !important;
368
- flex-wrap: nowrap !important;
369
- gap: 4px !important; // Consistent spacing
370
- justify-content: flex-end !important; // Push to right edge
371
- height: 60px !important; // Match header height exactly
372
-
373
- > li {
374
- display: flex !important;
375
- align-items: center !important;
376
- justify-content: center !important;
377
- margin: 0 !important;
378
- padding: 0 !important;
379
- float: none !important;
380
- flex: 0 0 auto !important;
381
- position: relative !important;
382
- height: 60px !important; // Force exact height for all items
383
- min-height: 60px !important; // Ensure minimum height
384
-
385
- > a {
386
- padding: 0 !important; // NO padding for perfect alignment
387
- margin: 0 !important;
388
- width: 44px !important; // Fixed width for all nav items
389
- height: 44px !important; // Fixed height for all nav items
390
- line-height: 1 !important;
391
- display: flex !important;
392
- align-items: center !important; // Perfect vertical centering
393
- justify-content: center !important; // Perfect horizontal centering
394
- position: relative !important;
395
- border-radius: 50% !important; // Circular touch targets
396
- background: transparent !important;
397
- transition: all 0.2s ease !important; // Smooth transitions
398
-
399
- i {
400
- font-size: 20px !important; // Consistent icon size for all nav items
401
- margin: 0 !important;
402
- display: block !important;
403
- line-height: 1 !important;
404
- text-align: center !important;
405
- }
406
-
407
- // Hide text content, keep only icons
408
- span:not(.counter) {
409
- display: none !important;
410
- }
411
-
412
- // Hide user avatar text
413
- .peer:last-child {
414
- display: none !important;
415
- }
416
-
417
- // Hover state - subtle and theme-consistent
418
- &:hover {
419
- background: var(--c-grey-100) !important;
420
- transform: scale(1.05) !important;
421
- transition: all 0.2s ease !important;
422
- }
423
- }
424
-
425
- // User dropdown - special styling for avatar
426
- &:last-child > a {
427
- .peer {
428
- &:first-child {
429
- margin-right: 0 !important;
430
- display: flex !important;
431
- align-items: center !important;
432
- justify-content: center !important;
433
- }
434
-
435
- img {
436
- width: 36px !important;
437
- height: 36px !important;
438
- max-width: 36px !important;
439
- max-height: 36px !important;
440
- border-radius: 50% !important;
441
- object-fit: cover !important;
442
- }
443
- }
444
- }
445
- }
446
-
447
- // NOTIFICATION COUNTERS - CORRECTLY ANCHORED
448
- > li {
449
- position: relative !important; // This is the anchor
450
-
451
- .counter {
452
- position: absolute !important;
453
- top: 10px !important;
454
- right: 10px !important;
455
- z-index: 10 !important;
456
-
457
- // The design of the counter itself is inherited
458
- }
459
- }
460
-
461
- // Theme toggle - perfectly aligned with other nav icons
462
- .theme-toggle {
463
- padding: 0 !important;
464
- display: flex !important;
465
- align-items: center !important;
466
- justify-content: center !important;
467
- height: 60px !important; // Match header height exactly
468
- min-height: 60px !important; // Force exact height
469
- width: 44px !important; // Same width as other nav items
470
-
471
- .form-check {
472
- margin: 0 !important;
473
- padding: 0 !important;
474
- align-items: center !important;
475
- justify-content: center !important;
476
- display: flex !important;
477
- height: 44px !important; // Same height as other nav items
478
- width: 44px !important; // Same width as other nav items
479
- border-radius: 50% !important; // Match other nav items
480
- position: relative !important;
481
-
482
- .form-check-label {
483
- display: none !important; // Hide labels on mobile for consistency
484
- }
485
-
486
- .form-check-input {
487
- width: 28px !important; // Smaller switch to fit in circular area
488
- height: 16px !important; // Smaller switch to fit in circular area
489
- margin: 0 !important; // No margin for perfect centering
490
- flex-shrink: 0 !important;
491
- border-radius: 8px !important; // Proportional border radius
492
- border-width: 1px !important; // Standard border
493
- position: absolute !important;
494
- top: 50% !important;
495
- left: 50% !important;
496
- transform: translate(-50%, -50%) !important; // Perfect centering
497
- }
498
-
499
- // Hover state to match other nav items
500
- &:hover {
501
- background: var(--c-grey-100) !important;
502
- transform: scale(1.05) !important;
503
- transition: all 0.2s ease !important;
504
- }
505
- }
506
- }
507
- }
508
-
509
- // Full-screen mobile dropdowns
510
- .header .nav-right .dropdown-menu {
511
- position: fixed !important;
512
- top: 60px !important;
513
- left: 0 !important;
514
- right: 0 !important;
515
- bottom: 0 !important;
516
- width: 100vw !important;
517
- height: calc(100vh - 60px) !important;
518
- max-width: none !important;
519
- min-width: auto !important;
520
- transform: none !important;
521
- border-radius: 0 !important;
522
- z-index: 9999 !important;
523
- overflow-y: auto !important;
524
- border: none !important;
525
- margin: 0 !important;
526
- padding: 0 !important;
527
-
528
- // Mobile close button
529
- &::before {
530
- content: "✕ Close" !important;
531
- position: sticky !important;
532
- top: 0 !important;
533
- display: block !important;
534
- background: var(--c-primary) !important;
535
- color: white !important;
536
- text-align: center !important;
537
- padding: 15px !important;
538
- cursor: pointer !important;
539
- font-weight: bold !important;
540
- z-index: 10000 !important;
541
- font-size: 16px !important;
542
- }
543
-
544
- // UNIFIED EMAIL/NOTIFICATION MOBILE LAYOUT
545
- .peers {
546
- padding: 15px 20px !important;
547
- flex-wrap: wrap !important;
548
- align-items: flex-start !important;
549
-
550
- .peer {
551
- max-width: 100% !important;
552
-
553
- img {
554
- width: 40px !important;
555
- height: 40px !important;
556
- margin-right: 12px !important;
557
- flex-shrink: 0 !important;
558
- }
559
-
560
- &.peer-greed {
561
- flex: 1 !important;
562
- min-width: 0 !important;
563
-
564
- // NOTIFICATIONS STYLE - Direct content (span > fw-500 + c-grey-600, then p > small)
565
- > span {
566
- display: block !important;
567
- margin-bottom: 4px !important;
568
-
569
- .fw-500 {
570
- font-size: 14px !important;
571
- font-weight: 600 !important;
572
- margin: 0 !important;
573
- color: var(--c-text-base) !important;
574
- display: inline !important;
575
- }
576
-
577
- .c-grey-600 {
578
- font-size: 13px !important;
579
- color: var(--c-text-muted) !important;
580
- line-height: 1.4 !important;
581
- display: inline !important;
582
- }
583
- }
584
-
585
- > p {
586
- margin: 0 !important;
587
-
588
- small {
589
- font-size: 12px !important;
590
- color: var(--c-text-muted) !important;
591
- }
592
- }
593
-
594
- // EMAILS STYLE - Match notifications exactly
595
- > div {
596
- // Completely restructure emails to match notification layout
597
- display: block !important;
598
-
599
- .peers {
600
- display: inline !important; // Make name and action on same line
601
- margin: 0 !important;
602
-
603
- .peer {
604
- &:first-child {
605
- // Name section
606
- p {
607
- font-size: 14px !important;
608
- font-weight: 600 !important;
609
- margin: 0 !important;
610
- color: var(--c-text-base) !important;
611
- display: inline !important;
612
- }
613
-
614
- // Add action text after name
615
- &::after {
616
- content: " sent you a message" !important;
617
- font-size: 13px !important;
618
- color: var(--c-text-muted) !important;
619
- font-weight: normal !important;
620
- }
621
- }
622
-
623
- &:last-child {
624
- // Move timestamp to its own line below (like notifications)
625
- display: block !important;
626
- margin-top: 2px !important;
627
-
628
- small {
629
- font-size: 12px !important;
630
- color: var(--c-text-muted) !important;
631
- display: block !important;
632
- }
633
- }
634
- }
635
- }
636
-
637
- // Hide the email preview text completely to match notifications
638
- > .c-grey-600,
639
- .c-grey-600.fsz-sm {
640
- display: none !important;
641
- }
642
- }
643
- }
644
- }
645
- }
646
-
647
- // Header items in dropdown
648
- .pX-20 {
649
- padding-left: 20px !important;
650
- padding-right: 20px !important;
651
-
652
- .fw-600 {
653
- font-size: 16px !important;
654
- font-weight: 600 !important;
655
- }
656
- }
657
-
658
- // Footer links in dropdown
659
- .ta-c {
660
- padding: 15px 20px !important;
661
-
662
- a {
663
- font-size: 14px !important;
664
- font-weight: 500 !important;
665
- }
666
- }
667
- }
668
- }
669
-
670
- // Extra small screens - refined adjustments
671
- @media screen and (max-width: 479px) {
672
- .header .header-container {
673
- padding: 8px 5px !important; // Even less padding for tiny screens
674
- gap: 8px !important;
675
- }
676
-
677
- .header .nav-left {
678
- max-width: 60% !important;
679
- gap: 2px !important; // Even tighter spacing
680
-
681
- &::before {
682
- width: 28px !important;
683
- height: 28px !important;
684
- font-size: 16px !important;
685
- margin-right: 4px !important;
686
- }
687
-
688
- > li > a {
689
- padding: 8px 4px !important;
690
-
691
- i {
692
- font-size: 18px !important;
693
- }
694
- }
695
- }
696
-
697
- .header .nav-right {
698
- gap: 1px !important; // Minimal spacing
699
-
700
- > li > a {
701
- padding: 8px 4px !important;
702
-
703
- i {
704
- font-size: 18px !important; // Slightly smaller for tiny screens
705
- }
706
- }
707
-
708
- .theme-toggle .form-check-input {
709
- width: 28px !important;
710
- height: 16px !important;
711
- }
712
- }
713
-
714
- // Full-width search bar on tiny screens
715
- .header .nav-left .search-input {
716
- padding: 12px 15px !important;
717
-
718
- input {
719
- padding: 10px 12px !important;
720
- font-size: 16px !important; // Prevent zoom on iOS
721
- }
722
- }
723
- }
724
-
725
- // =============================================================================
726
- // FOOTER OVERLAP FIXES - MAINTAINING PREVIOUS FIXES
727
- // =============================================================================
728
-
729
- // Global layout fixes
730
- html, body {
731
- height: 100% !important;
732
- margin: 0 !important;
733
- padding: 0 !important;
734
- overflow-x: hidden !important;
735
- }
736
-
737
- // Page container - force flexbox layout
738
- .page-container {
739
- display: flex !important;
740
- flex-direction: column !important;
741
- min-height: 100vh !important;
742
- margin: 0 !important;
743
- padding-top: 60px !important;
744
- }
745
-
746
- // Main content - flexible
747
- .main-content {
748
- flex: 1 0 auto !important;
749
- padding: 20px 10px 40px !important;
750
- margin: 0 !important;
751
- min-height: 0 !important;
752
- overflow-x: hidden !important;
753
- }
754
-
755
- // Footer - fixed to bottom
756
- footer {
757
- flex: 0 0 auto !important;
758
- margin-top: auto !important;
759
- padding: 15px 10px !important;
760
- background: var(--c-bkg-card) !important;
761
- border-top: 1px solid var(--c-border) !important;
762
- text-align: center !important;
763
- font-size: 11px !important;
764
- line-height: 1.3 !important;
765
- z-index: 10 !important;
766
- position: relative !important;
767
- width: 100% !important;
768
- clear: both !important;
769
-
770
- // CRITICAL: Override lh-0 class that causes overlap
771
- &.lh-0 {
772
- line-height: 1.3 !important; // Force proper line height
773
- }
774
- }
775
-
776
- @media screen and (max-width: 767px) {
777
- .page-container {
778
- padding-left: 0 !important;
779
- min-height: 100vh !important; // Ensure full height
780
- position: relative !important; // Ensure positioning context
781
- }
782
-
783
- .main-content {
784
- padding: 15px 8px 60px !important; // Increased bottom padding for footer space
785
- margin-bottom: 0 !important;
786
- width: 100% !important;
787
- box-sizing: border-box !important;
788
- }
789
-
790
- footer {
791
- position: relative !important; // Ensure footer stays in flow
792
- width: 100% !important;
793
- padding: 15px 10px !important; // Increased padding for better spacing
794
- font-size: 11px !important; // Slightly larger for readability
795
- line-height: 1.4 !important; // Better line height for mobile
796
- background: var(--c-bkg-card) !important;
797
- border-top: 1px solid var(--c-border) !important;
798
- margin-top: auto !important;
799
- box-sizing: border-box !important;
800
-
801
- // CRITICAL MOBILE FIXES: Override all conflicting utility classes
802
- &.lh-0 {
803
- line-height: 1.4 !important; // Override line-height: 0 that causes overlap
804
- }
805
-
806
- &.p-30 {
807
- padding: 15px 10px !important; // Override desktop padding
808
- }
809
-
810
- &.fsz-sm {
811
- font-size: 11px !important; // Ensure readable font size on mobile
812
- }
813
-
814
- span {
815
- display: block !important; // Force block for better wrapping
816
- word-wrap: break-word !important;
817
- max-width: 100% !important;
818
- text-align: center !important;
819
- line-height: 1.4 !important;
820
-
821
- // Handle long text better
822
- hyphens: auto !important;
823
- word-break: break-word !important;
824
-
825
- a {
826
- color: var(--c-primary) !important;
827
- text-decoration: none !important;
828
- display: inline !important; // Keep link inline within text
829
-
830
- &:hover {
831
- text-decoration: underline !important;
832
- }
833
- }
834
- }
835
- }
836
- }
837
-
838
- @media screen and (max-width: 479px) {
839
- .main-content {
840
- padding: 10px 8px 50px !important; // Adequate bottom space for footer
841
- }
842
-
843
- footer {
844
- padding: 12px 8px !important;
845
- font-size: 10px !important;
846
- line-height: 1.5 !important; // Better readability on small screens
847
-
848
- // Override utility classes for small screens
849
- &.lh-0 {
850
- line-height: 1.5 !important; // Override line-height: 0
851
- }
852
-
853
- &.p-30 {
854
- padding: 12px 8px !important; // Override desktop padding
855
- }
856
-
857
- &.fsz-sm {
858
- font-size: 10px !important; // Ensure readable font size
859
- }
860
-
861
- span {
862
- display: block !important;
863
- margin: 0 !important; // Remove extra margins
864
- padding: 0 !important;
865
- text-align: center !important;
866
-
867
- // Split long copyright text into multiple lines if needed
868
- word-spacing: normal !important;
869
- letter-spacing: normal !important;
870
-
871
- // Ensure links are readable
872
- a {
873
- display: inline !important;
874
- white-space: nowrap !important; // Keep "Colorlib" as one word
875
- }
876
- }
877
- }
878
- }
879
-
880
- // Additional mobile footer fixes
881
- @media screen and (max-width: 360px) {
882
- footer {
883
- font-size: 9px !important;
884
- padding: 10px 5px !important;
885
-
886
- // Override utility classes for extra small screens
887
- &.lh-0 {
888
- line-height: 1.6 !important; // Even better line height for tiny screens
889
- }
890
-
891
- &.p-30 {
892
- padding: 10px 5px !important; // Override desktop padding
893
- }
894
-
895
- &.fsz-sm {
896
- font-size: 9px !important; // Readable font size for tiny screens
897
- }
898
-
899
- span {
900
- line-height: 1.6 !important; // Ensure good readability
901
-
902
- // For very small screens, ensure text doesn't overlap
903
- word-break: break-word !important;
904
- overflow-wrap: break-word !important;
905
-
906
- // Ensure links are readable
907
- a {
908
- font-weight: bold !important;
909
- color: var(--c-primary) !important;
910
- }
911
- }
912
- }
913
- }
914
-
915
- // =============================================================================
916
- // UTILITY CLASSES FOR MOBILE
917
- // =============================================================================
918
-
919
- // Prevent body scroll when mobile menus are open
920
- body.mobile-menu-open {
921
- overflow: hidden !important;
922
- position: fixed !important;
923
- width: 100% !important;
924
- }
925
-
926
- // Emergency fixes for any remaining issues
927
- @media screen and (max-width: 767px) {
928
- // Ensure dropdowns don't break layout
929
- .dropdown-menu.show {
930
- position: fixed !important;
931
- }
932
-
933
- // Prevent content overflow
934
- .row {
935
- margin-left: 0 !important;
936
- margin-right: 0 !important;
937
- }
938
-
939
- [class*="col-"] {
940
- padding-left: 5px !important;
941
- padding-right: 5px !important;
942
- }
943
-
944
- // Hide on mobile utility
945
- .d-none-mobile {
946
- display: none !important;
947
- }
948
-
949
- // Force no horizontal scroll
950
- * {
951
- max-width: 100% !important;
952
- box-sizing: border-box !important;
953
- }
954
- }