adminator-admin-dashboard 2.8.1 → 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 +499 -0
  2. package/CLAUDE.md +126 -154
  3. package/README.md +321 -370
  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 +50 -52
  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 -61323
  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
@@ -0,0 +1,365 @@
1
+ /* ============ UI ELEMENTS ============ */
2
+
3
+ /* ---- Button variants (extends .btn from _components) ---- */
4
+ .btn--secondary {
5
+ background: var(--bg-muted);
6
+ color: var(--t-base);
7
+ border-color: var(--border);
8
+ }
9
+ .btn--secondary:hover { background: var(--bg-hover); border-color: var(--t-light); }
10
+
11
+ .btn--success { background: var(--success); color: #fff; }
12
+ .btn--success:hover { background: color-mix(in oklab, var(--success) 90%, black); }
13
+ .btn--danger { background: var(--danger); color: #fff; }
14
+ .btn--danger:hover { background: color-mix(in oklab, var(--danger) 90%, black); }
15
+ .btn--warning { background: var(--warning); color: #fff; }
16
+ .btn--warning:hover { background: color-mix(in oklab, var(--warning) 90%, black); }
17
+ .btn--info { background: var(--info); color: #fff; }
18
+ .btn--info:hover { background: color-mix(in oklab, var(--info) 90%, black); }
19
+
20
+ .btn--soft-primary { background: var(--primary-soft); color: var(--primary); }
21
+ .btn--soft-primary:hover { background: color-mix(in oklab, var(--primary-soft) 80%, var(--primary) 8%); }
22
+ .btn--soft-success { background: var(--success-soft); color: var(--success); }
23
+ .btn--soft-danger { background: var(--danger-soft); color: var(--danger); }
24
+ .btn--soft-warning { background: var(--warning-soft); color: var(--warning); }
25
+ .btn--soft-info { background: var(--info-soft); color: var(--info); }
26
+
27
+ .btn--outline-primary { background: transparent; color: var(--primary); border-color: var(--primary); }
28
+ .btn--outline-primary:hover { background: var(--primary-soft); }
29
+ .btn--outline-danger { background: transparent; color: var(--danger); border-color: var(--danger); }
30
+ .btn--outline-danger:hover { background: var(--danger-soft); }
31
+ .btn--outline-success { background: transparent; color: var(--success); border-color: var(--success); }
32
+ .btn--outline-success:hover { background: var(--success-soft); }
33
+
34
+ .btn--lg { padding: 12px 18px; font-size: 14px; }
35
+ .btn--sm { padding: 6px 10px; font-size: 11.5px; }
36
+ .btn--icon { padding: 9px; }
37
+ .btn--icon svg { margin: 0; }
38
+
39
+ .btn-group {
40
+ display: inline-flex;
41
+ border-radius: 8px;
42
+ overflow: hidden;
43
+ box-shadow: 0 0 0 1px var(--border);
44
+ }
45
+ .btn-group .btn {
46
+ border-radius: 0;
47
+ border: 0;
48
+ box-shadow: none;
49
+ border-right: 1px solid var(--border);
50
+ }
51
+ .btn-group .btn:last-child { border-right: 0; }
52
+ .btn-group .btn.is-active {
53
+ background: var(--primary-soft);
54
+ color: var(--primary);
55
+ }
56
+
57
+ /* ---- Alert ---- */
58
+ .alert {
59
+ display: grid;
60
+ grid-template-columns: 24px 1fr auto;
61
+ gap: 12px;
62
+ align-items: start;
63
+ padding: 14px 16px;
64
+ border-radius: 10px;
65
+ font-size: 13px;
66
+ line-height: 1.5;
67
+ background: var(--bg-muted);
68
+ color: var(--t-base);
69
+ border-left: 3px solid var(--t-muted);
70
+ }
71
+ .alert + .alert { margin-top: 10px; }
72
+ .alert .ico {
73
+ width: 20px; height: 20px;
74
+ display: grid; place-items: center;
75
+ border-radius: 6px;
76
+ color: var(--t-muted);
77
+ flex-shrink: 0;
78
+ }
79
+ .alert .ico svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2; fill: none; }
80
+ .alert .body { min-width: 0; }
81
+ .alert .title { font-weight: 600; color: var(--t-base); margin-bottom: 2px; }
82
+ .alert .close {
83
+ width: 22px; height: 22px;
84
+ display: grid; place-items: center;
85
+ border-radius: 5px;
86
+ color: var(--t-light);
87
+ transition: background 160ms, color 160ms;
88
+ }
89
+ .alert .close:hover { background: var(--bg-hover); color: var(--t-base); }
90
+ .alert .close svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 2; fill: none; }
91
+
92
+ .alert.success { background: var(--success-soft); border-left-color: var(--success); }
93
+ .alert.success .ico { background: color-mix(in oklab, var(--success) 14%, transparent); color: var(--success); }
94
+ .alert.danger { background: var(--danger-soft); border-left-color: var(--danger); }
95
+ .alert.danger .ico { background: color-mix(in oklab, var(--danger) 14%, transparent); color: var(--danger); }
96
+ .alert.warning { background: var(--warning-soft); border-left-color: var(--warning); }
97
+ .alert.warning .ico { background: color-mix(in oklab, var(--warning) 14%, transparent); color: var(--warning); }
98
+ .alert.info { background: var(--info-soft); border-left-color: var(--info); }
99
+ .alert.info .ico { background: color-mix(in oklab, var(--info) 14%, transparent); color: var(--info); }
100
+ .alert.primary { background: var(--primary-soft); border-left-color: var(--primary); }
101
+ .alert.primary .ico { background: color-mix(in oklab, var(--primary) 14%, transparent); color: var(--primary); }
102
+
103
+ /* ---- Badge ---- */
104
+ .badge {
105
+ display: inline-flex; align-items: center; gap: 4px;
106
+ font-size: 10.5px;
107
+ font-weight: 600;
108
+ padding: 3px 8px;
109
+ border-radius: 999px;
110
+ letter-spacing: 0.02em;
111
+ line-height: 1.4;
112
+ background: var(--bg-muted);
113
+ color: var(--t-muted);
114
+ }
115
+ .badge.primary { background: var(--primary-soft); color: var(--primary); }
116
+ .badge.success { background: var(--success-soft); color: var(--success); }
117
+ .badge.danger { background: var(--danger-soft); color: var(--danger); }
118
+ .badge.warning { background: var(--warning-soft); color: var(--warning); }
119
+ .badge.info { background: var(--info-soft); color: var(--info); }
120
+ .badge.purple { background: var(--purple-soft); color: var(--purple); }
121
+ .badge.solid {
122
+ background: var(--primary); color: #fff;
123
+ }
124
+ .badge.dot::before {
125
+ content: '';
126
+ width: 6px; height: 6px;
127
+ border-radius: 50%;
128
+ background: currentColor;
129
+ }
130
+
131
+ /* ---- Progress ---- */
132
+ .progress {
133
+ width: 100%;
134
+ height: 8px;
135
+ background: var(--bg-muted);
136
+ border-radius: 999px;
137
+ overflow: hidden;
138
+ }
139
+ .progress.thin { height: 4px; }
140
+ .progress.tall { height: 14px; }
141
+ .progress-fill {
142
+ height: 100%;
143
+ background: var(--primary);
144
+ border-radius: 999px;
145
+ transform-origin: left;
146
+ animation: bar-in 900ms cubic-bezier(.2,.7,.2,1) both;
147
+ }
148
+ .progress-fill.success { background: var(--success); }
149
+ .progress-fill.danger { background: var(--danger); }
150
+ .progress-fill.warning { background: var(--warning); }
151
+ .progress-fill.info { background: var(--info); }
152
+ .progress-fill.gradient { background: linear-gradient(90deg, var(--primary), var(--purple)); }
153
+ .progress-fill.striped {
154
+ background-image: linear-gradient(45deg,
155
+ rgba(255,255,255,.16) 25%, transparent 25%,
156
+ transparent 50%, rgba(255,255,255,.16) 50%,
157
+ rgba(255,255,255,.16) 75%, transparent 75%, transparent);
158
+ background-size: 12px 12px;
159
+ }
160
+
161
+ /* ---- Spinner ---- */
162
+ .spinner {
163
+ width: 22px; height: 22px;
164
+ border-radius: 50%;
165
+ border: 2.5px solid var(--bg-muted);
166
+ border-top-color: var(--primary);
167
+ animation: spin 700ms linear infinite;
168
+ display: inline-block;
169
+ }
170
+ .spinner.sm { width: 14px; height: 14px; border-width: 2px; }
171
+ .spinner.lg { width: 36px; height: 36px; border-width: 3px; }
172
+ @keyframes spin { to { transform: rotate(360deg); } }
173
+
174
+ /* ---- Tabs ---- */
175
+ .tabs {
176
+ display: flex;
177
+ gap: 4px;
178
+ border-bottom: 1px solid var(--border);
179
+ margin-bottom: 18px;
180
+ }
181
+ .tab {
182
+ padding: 10px 14px;
183
+ font-size: 13px;
184
+ font-weight: 500;
185
+ color: var(--t-muted);
186
+ border-bottom: 2px solid transparent;
187
+ transition: color 160ms, border-color 160ms;
188
+ position: relative;
189
+ top: 1px;
190
+ cursor: pointer;
191
+ }
192
+ .tab:hover { color: var(--t-base); }
193
+ .tab.is-active {
194
+ color: var(--primary);
195
+ border-bottom-color: var(--primary);
196
+ font-weight: 600;
197
+ }
198
+ .tab .badge { margin-left: 6px; }
199
+
200
+ .tabs.pills {
201
+ border-bottom: 0;
202
+ background: var(--bg-muted);
203
+ border-radius: 9px;
204
+ padding: 3px;
205
+ display: inline-flex;
206
+ }
207
+ .tabs.pills .tab {
208
+ border-radius: 7px;
209
+ border-bottom: 0;
210
+ top: 0;
211
+ padding: 7px 12px;
212
+ font-size: 12.5px;
213
+ }
214
+ .tabs.pills .tab.is-active {
215
+ background: var(--bg-card);
216
+ color: var(--t-base);
217
+ box-shadow: var(--shadow-sm);
218
+ }
219
+
220
+ .tab-panel { display: none; }
221
+ .tab-panel.is-active { display: block; animation: rise-in 320ms ease both; }
222
+
223
+ /* ---- Accordion ---- */
224
+ .accordion { display: flex; flex-direction: column; gap: 8px; }
225
+ .accordion-item {
226
+ border: 1px solid var(--border);
227
+ border-radius: 10px;
228
+ overflow: hidden;
229
+ background: var(--bg-card);
230
+ }
231
+ .accordion-trigger {
232
+ display: flex; align-items: center; justify-content: space-between;
233
+ width: 100%;
234
+ padding: 14px 16px;
235
+ font-size: 13.5px;
236
+ font-weight: 600;
237
+ color: var(--t-base);
238
+ text-align: left;
239
+ transition: background 160ms;
240
+ }
241
+ .accordion-trigger:hover { background: var(--bg-hover); }
242
+ .accordion-trigger .chev {
243
+ width: 13px; height: 13px;
244
+ transition: transform 240ms ease;
245
+ color: var(--t-muted);
246
+ }
247
+ .accordion-trigger .chev svg { width: 100%; height: 100%; stroke: currentColor; stroke-width: 2; fill: none; }
248
+ .accordion-item.is-open .accordion-trigger .chev { transform: rotate(180deg); }
249
+ .accordion-body {
250
+ max-height: 0;
251
+ overflow: hidden;
252
+ transition: max-height 320ms cubic-bezier(.4,0,.2,1);
253
+ font-size: 13px;
254
+ color: var(--t-muted);
255
+ line-height: 1.6;
256
+ }
257
+ .accordion-body-inner { padding: 0 16px 14px; }
258
+ .accordion-item.is-open .accordion-body { max-height: 400px; }
259
+
260
+ /* ---- Modal (static demo) ---- */
261
+ .modal-demo {
262
+ background: var(--bg-card);
263
+ border: 1px solid var(--border);
264
+ border-radius: 14px;
265
+ box-shadow: var(--shadow-lg);
266
+ overflow: hidden;
267
+ max-width: 480px;
268
+ }
269
+ .modal-head {
270
+ display: flex; justify-content: space-between; align-items: center;
271
+ padding: 16px 20px;
272
+ border-bottom: 1px solid var(--border-soft);
273
+ }
274
+ .modal-title {
275
+ font-family: 'Inter Tight', sans-serif;
276
+ font-weight: 700;
277
+ font-size: 15px;
278
+ color: var(--t-base);
279
+ letter-spacing: -0.012em;
280
+ }
281
+ .modal-body {
282
+ padding: 18px 20px;
283
+ font-size: 13.5px;
284
+ color: var(--t-muted);
285
+ line-height: 1.6;
286
+ }
287
+ .modal-foot {
288
+ display: flex; justify-content: flex-end; gap: 8px;
289
+ padding: 14px 20px;
290
+ border-top: 1px solid var(--border-soft);
291
+ background: var(--bg-card);
292
+ }
293
+
294
+ /* ---- Tooltip / Popover (static demo positioning) ---- */
295
+ .popover-demo {
296
+ position: relative;
297
+ display: inline-block;
298
+ }
299
+ .popover-demo .pop {
300
+ position: absolute;
301
+ bottom: calc(100% + 10px);
302
+ left: 50%;
303
+ transform: translateX(-50%);
304
+ background: var(--t-base);
305
+ color: var(--bg-card);
306
+ font-size: 11.5px;
307
+ font-weight: 500;
308
+ padding: 6px 10px;
309
+ border-radius: 6px;
310
+ white-space: nowrap;
311
+ box-shadow: var(--shadow-lg);
312
+ }
313
+ .popover-demo .pop::after {
314
+ content: '';
315
+ position: absolute;
316
+ top: 100%; left: 50%;
317
+ transform: translateX(-50%);
318
+ border: 5px solid transparent;
319
+ border-top-color: var(--t-base);
320
+ }
321
+
322
+ /* ---- Avatar group ---- */
323
+ .avatar-group {
324
+ display: inline-flex;
325
+ align-items: center;
326
+ }
327
+ .avatar-group .av {
328
+ width: 32px; height: 32px;
329
+ border-radius: 50%;
330
+ display: grid; place-items: center;
331
+ color: #fff;
332
+ font-size: 11.5px;
333
+ font-weight: 600;
334
+ border: 2px solid var(--bg-card);
335
+ margin-left: -8px;
336
+ flex-shrink: 0;
337
+ }
338
+ .avatar-group .av:first-child { margin-left: 0; }
339
+ .avatar-group .av.more {
340
+ background: var(--bg-muted);
341
+ color: var(--t-muted);
342
+ font-size: 10.5px;
343
+ }
344
+
345
+ /* ---- Section heading helper ---- */
346
+ .section-h {
347
+ display: flex; align-items: baseline; gap: 12px;
348
+ font-family: 'Inter Tight', sans-serif;
349
+ font-weight: 700;
350
+ font-size: 15px;
351
+ color: var(--t-base);
352
+ letter-spacing: -0.012em;
353
+ margin: 0 0 14px;
354
+ }
355
+ .section-h .num {
356
+ font-family: 'JetBrains Mono', monospace;
357
+ font-size: 11px;
358
+ color: var(--t-light);
359
+ font-weight: 500;
360
+ letter-spacing: 0.06em;
361
+ }
362
+
363
+ .demo-row {
364
+ display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
365
+ }
@@ -0,0 +1,23 @@
1
+ /* ============================================
2
+ 2026 Design System — Entry
3
+ ============================================ */
4
+
5
+ @use 'tokens';
6
+ @use 'base';
7
+ @use 'animations';
8
+ @use 'shell';
9
+ @use 'dropdowns';
10
+ @use 'components';
11
+ @use 'forms';
12
+ @use 'ui';
13
+ @use 'auth';
14
+ @use 'error';
15
+ @use 'chat';
16
+ @use 'data';
17
+ @use 'charts';
18
+ @use 'dashboard';
19
+ @use 'email';
20
+ @use 'calendar';
21
+ @use 'fullcalendar';
22
+ @use 'palette';
23
+ @use 'responsive';