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,380 @@
1
+ /* ============ CALENDAR ============ */
2
+ .cal-hero { margin-bottom: 20px; }
3
+ .cal-hero .hero-title { font-size: clamp(24px, 2.4vw, 28px); margin-bottom: 6px; }
4
+ .cal-hero .hero-sub { font-size: 13.5px; }
5
+
6
+ .cal-shell {
7
+ display: grid;
8
+ grid-template-columns: 280px minmax(0, 1fr);
9
+ gap: 20px;
10
+ animation: rise-in 600ms cubic-bezier(.2,.7,.2,1) both;
11
+ animation-delay: 80ms;
12
+ }
13
+
14
+ /* ---- Left rail ---- */
15
+ .cal-rail { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
16
+
17
+ .cal-quickadd {
18
+ display: inline-flex; align-items: center; justify-content: center; gap: 8px;
19
+ background: var(--primary); color: #fff;
20
+ padding: 11px 14px;
21
+ border-radius: 10px;
22
+ font-size: 13px; font-weight: 600;
23
+ box-shadow: 0 2px 6px -1px var(--primary-ring);
24
+ transition: background 180ms;
25
+ }
26
+ .cal-quickadd:hover { background: var(--primary-dark); }
27
+ .cal-quickadd svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2; fill: none; }
28
+
29
+ .cal-rail-card {
30
+ background: var(--bg-card);
31
+ border: 1px solid var(--border);
32
+ border-radius: 14px;
33
+ padding: 16px;
34
+ box-shadow: var(--shadow-card);
35
+ display: flex; flex-direction: column; gap: 12px;
36
+ }
37
+ .cal-rail-head {
38
+ display: flex; align-items: center; justify-content: space-between;
39
+ gap: 8px;
40
+ }
41
+ .cal-rail-title {
42
+ font-family: 'Inter Tight', sans-serif;
43
+ font-weight: 700;
44
+ font-size: 13.5px;
45
+ color: var(--t-base);
46
+ letter-spacing: -0.01em;
47
+ }
48
+ .cal-rail-tools { display: flex; gap: 2px; }
49
+
50
+ /* Mini calendar */
51
+ .mini-cal-grid {
52
+ display: grid;
53
+ grid-template-columns: repeat(7, 1fr);
54
+ gap: 1px;
55
+ }
56
+ .mini-cal-wd {
57
+ font-family: 'JetBrains Mono', monospace;
58
+ font-size: 9.5px;
59
+ color: var(--t-light);
60
+ text-align: center;
61
+ padding: 4px 0 6px;
62
+ letter-spacing: 0.06em;
63
+ }
64
+ .mini-cal-day {
65
+ aspect-ratio: 1;
66
+ display: grid; place-items: center;
67
+ font-size: 11.5px;
68
+ color: var(--t-base);
69
+ border-radius: 7px;
70
+ cursor: pointer;
71
+ transition: background 140ms ease, color 140ms ease;
72
+ position: relative;
73
+ }
74
+ .mini-cal-day:hover { background: var(--bg-hover); }
75
+ .mini-cal-day.is-other { color: var(--t-light); }
76
+ .mini-cal-day.is-today {
77
+ background: var(--primary); color: #fff; font-weight: 700;
78
+ }
79
+ .mini-cal-day.has-event::after {
80
+ content: '';
81
+ position: absolute;
82
+ bottom: 3px; left: 50%;
83
+ transform: translateX(-50%);
84
+ width: 3px; height: 3px;
85
+ border-radius: 50%;
86
+ background: var(--primary);
87
+ }
88
+ .mini-cal-day.is-today.has-event::after { background: #fff; }
89
+
90
+ /* My calendars */
91
+ .cal-list { display: flex; flex-direction: column; gap: 2px; }
92
+ .cal-list-item {
93
+ display: flex; align-items: center; gap: 10px;
94
+ padding: 7px 8px;
95
+ border-radius: 7px;
96
+ cursor: pointer;
97
+ transition: background 140ms ease;
98
+ }
99
+ .cal-list-item:hover { background: var(--bg-hover); }
100
+ .cal-list-check {
101
+ width: 14px; height: 14px;
102
+ border-radius: 4px;
103
+ flex-shrink: 0;
104
+ position: relative;
105
+ border: 1.5px solid currentColor;
106
+ background: currentColor;
107
+ }
108
+ .cal-list-check::after {
109
+ content: '';
110
+ position: absolute;
111
+ left: 3px; top: 0;
112
+ width: 3px; height: 7px;
113
+ border: solid #fff;
114
+ border-width: 0 1.5px 1.5px 0;
115
+ transform: rotate(45deg);
116
+ }
117
+ .cal-list-check.is-off { background: transparent; }
118
+ .cal-list-check.is-off::after { display: none; }
119
+ .cal-list-name { font-size: 12.5px; color: var(--t-base); flex: 1; min-width: 0; }
120
+ .cal-list-item.is-off .cal-list-name { color: var(--t-light); }
121
+ .cal-list-count {
122
+ font-family: 'JetBrains Mono', monospace;
123
+ font-size: 10px;
124
+ color: var(--t-light);
125
+ letter-spacing: 0.04em;
126
+ }
127
+
128
+ /* Upcoming list */
129
+ .upc-list { display: flex; flex-direction: column; }
130
+ .upc-item {
131
+ display: grid;
132
+ grid-template-columns: 44px 1fr;
133
+ gap: 12px;
134
+ padding: 11px 0;
135
+ border-top: 1px solid var(--border-soft);
136
+ align-items: center;
137
+ }
138
+ .upc-item:first-child { border-top: 0; padding-top: 4px; }
139
+ .upc-date {
140
+ text-align: center;
141
+ line-height: 1.05;
142
+ padding: 6px 0;
143
+ border-radius: 8px;
144
+ background: var(--bg-muted);
145
+ }
146
+ .upc-date .day {
147
+ font-family: 'Inter Tight', sans-serif;
148
+ font-weight: 700;
149
+ font-size: 17px;
150
+ color: var(--t-base);
151
+ letter-spacing: -0.022em;
152
+ }
153
+ .upc-date .mo {
154
+ font-family: 'JetBrains Mono', monospace;
155
+ font-size: 9px;
156
+ color: var(--t-light);
157
+ letter-spacing: 0.08em;
158
+ margin-top: 2px;
159
+ display: block;
160
+ text-transform: uppercase;
161
+ }
162
+ .upc-date.is-today { background: var(--primary-soft); }
163
+ .upc-date.is-today .day { color: var(--primary); }
164
+ .upc-date.is-today .mo { color: var(--primary); }
165
+
166
+ .upc-meta { min-width: 0; line-height: 1.35; }
167
+ .upc-title {
168
+ font-size: 13px;
169
+ color: var(--t-base);
170
+ font-weight: 600;
171
+ white-space: nowrap;
172
+ overflow: hidden;
173
+ text-overflow: ellipsis;
174
+ }
175
+ .upc-time {
176
+ display: flex; align-items: center; gap: 6px;
177
+ font-size: 11.5px;
178
+ color: var(--t-muted);
179
+ margin-top: 3px;
180
+ }
181
+ .upc-time .dot {
182
+ width: 6px; height: 6px;
183
+ border-radius: 50%;
184
+ flex-shrink: 0;
185
+ }
186
+ .upc-time .mono {
187
+ font-family: 'JetBrains Mono', monospace;
188
+ font-size: 10.5px;
189
+ letter-spacing: 0.04em;
190
+ color: var(--t-light);
191
+ }
192
+
193
+ /* ---- Main calendar ---- */
194
+ .cal-main {
195
+ background: var(--bg-card);
196
+ border: 1px solid var(--border);
197
+ border-radius: 14px;
198
+ box-shadow: var(--shadow-card);
199
+ display: flex; flex-direction: column;
200
+ overflow: hidden;
201
+ min-width: 0;
202
+ }
203
+
204
+ .cal-toolbar {
205
+ display: flex; align-items: center; justify-content: space-between;
206
+ gap: 16px;
207
+ padding: 16px 20px;
208
+ border-bottom: 1px solid var(--border-soft);
209
+ }
210
+ .cal-toolbar-left { display: flex; align-items: center; gap: 14px; min-width: 0; }
211
+ .cal-month {
212
+ font-family: 'Inter Tight', sans-serif;
213
+ font-weight: 700;
214
+ font-size: 22px;
215
+ color: var(--t-base);
216
+ letter-spacing: -0.022em;
217
+ line-height: 1;
218
+ white-space: nowrap;
219
+ }
220
+ .cal-month .yr { color: var(--t-light); font-weight: 500; margin-left: 4px; }
221
+
222
+ .cal-nav { display: flex; align-items: center; gap: 4px; }
223
+ .cal-nav-btn {
224
+ width: 30px; height: 30px;
225
+ display: grid; place-items: center;
226
+ border-radius: 7px;
227
+ color: var(--t-muted);
228
+ transition: background 160ms, color 160ms;
229
+ border: 1px solid var(--border);
230
+ background: var(--bg-card);
231
+ }
232
+ .cal-nav-btn:hover { background: var(--bg-hover); color: var(--t-base); border-color: var(--t-light); }
233
+ .cal-nav-btn svg { width: 13px; height: 13px; stroke: currentColor; stroke-width: 2; fill: none; }
234
+ .cal-today-btn {
235
+ padding: 0 12px; height: 30px;
236
+ font-size: 12px; font-weight: 600;
237
+ color: var(--t-base);
238
+ border: 1px solid var(--border);
239
+ border-radius: 7px;
240
+ background: var(--bg-card);
241
+ transition: border-color 160ms, background 160ms;
242
+ }
243
+ .cal-today-btn:hover { background: var(--bg-hover); border-color: var(--t-light); }
244
+
245
+ .cal-views {
246
+ display: flex;
247
+ background: var(--bg-muted);
248
+ border-radius: 8px;
249
+ padding: 3px;
250
+ gap: 2px;
251
+ }
252
+ .cal-view-tab {
253
+ padding: 6px 12px;
254
+ font-size: 12px;
255
+ font-weight: 600;
256
+ color: var(--t-muted);
257
+ border-radius: 6px;
258
+ transition: background 160ms, color 160ms, box-shadow 160ms;
259
+ }
260
+ .cal-view-tab:hover { color: var(--t-base); }
261
+ .cal-view-tab.is-active {
262
+ background: var(--bg-card);
263
+ color: var(--t-base);
264
+ box-shadow: var(--shadow-sm);
265
+ }
266
+
267
+ .cal-toolbar-right { display: flex; align-items: center; gap: 8px; }
268
+
269
+ /* Weekday header row */
270
+ .cal-weekdays {
271
+ display: grid;
272
+ grid-template-columns: repeat(7, 1fr);
273
+ background: var(--bg-card);
274
+ border-bottom: 1px solid var(--border);
275
+ }
276
+ .cal-weekdays > div {
277
+ font-family: 'JetBrains Mono', monospace;
278
+ font-size: 10px;
279
+ letter-spacing: 0.18em;
280
+ text-transform: uppercase;
281
+ color: var(--t-light);
282
+ font-weight: 500;
283
+ padding: 10px 12px;
284
+ text-align: left;
285
+ }
286
+
287
+ /* Month grid */
288
+ .cal-grid {
289
+ display: grid;
290
+ grid-template-columns: repeat(7, 1fr);
291
+ grid-auto-rows: minmax(110px, 1fr);
292
+ flex: 1;
293
+ }
294
+ .cal-cell {
295
+ border-right: 1px solid var(--border-soft);
296
+ border-bottom: 1px solid var(--border-soft);
297
+ padding: 8px 8px 6px;
298
+ position: relative;
299
+ min-width: 0;
300
+ display: flex; flex-direction: column; gap: 4px;
301
+ cursor: pointer;
302
+ transition: background 160ms ease;
303
+ }
304
+ .cal-cell:hover { background: var(--bg-hover); }
305
+ .cal-cell:nth-child(7n) { border-right: 0; }
306
+ .cal-grid > .cal-cell:nth-last-child(-n+7) { border-bottom: 0; }
307
+ .cal-cell.is-other { background: var(--bg-muted); }
308
+ .cal-cell.is-other:hover { background: var(--bg-hover); }
309
+
310
+ .cal-day-num {
311
+ font-family: 'Inter Tight', sans-serif;
312
+ font-weight: 600;
313
+ font-size: 13px;
314
+ color: var(--t-base);
315
+ line-height: 1;
316
+ align-self: flex-start;
317
+ padding: 2px 4px;
318
+ border-radius: 6px;
319
+ margin-bottom: 2px;
320
+ }
321
+ .cal-cell.is-other .cal-day-num { color: var(--t-light); font-weight: 500; }
322
+ .cal-cell.is-today .cal-day-num {
323
+ background: var(--primary);
324
+ color: #fff;
325
+ min-width: 22px;
326
+ text-align: center;
327
+ padding: 4px 6px;
328
+ }
329
+ .cal-cell.is-weekend:not(.is-today):not(.is-other) .cal-day-num { color: var(--t-muted); }
330
+
331
+ .cal-chips { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
332
+ .cal-chip {
333
+ display: flex; align-items: center; gap: 6px;
334
+ padding: 3px 7px;
335
+ border-radius: 5px;
336
+ font-size: 11px;
337
+ font-weight: 500;
338
+ line-height: 1.3;
339
+ cursor: pointer;
340
+ transition: filter 160ms ease, transform 140ms ease;
341
+ white-space: nowrap;
342
+ overflow: hidden;
343
+ text-overflow: ellipsis;
344
+ min-width: 0;
345
+ border-left: 2px solid transparent;
346
+ }
347
+ .cal-chip:hover { transform: translateX(1px); }
348
+ .cal-chip-time {
349
+ font-family: 'JetBrains Mono', monospace;
350
+ font-size: 9.5px;
351
+ font-weight: 600;
352
+ letter-spacing: 0.02em;
353
+ flex-shrink: 0;
354
+ }
355
+ .cal-chip-title {
356
+ flex: 1; min-width: 0;
357
+ white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
358
+ }
359
+ .cal-chip.work { background: var(--primary-soft); color: var(--primary); border-left-color: var(--primary); }
360
+ .cal-chip.team { background: var(--success-soft); color: var(--success); border-left-color: var(--success); }
361
+ .cal-chip.personal { background: var(--purple-soft); color: var(--purple); border-left-color: var(--purple); }
362
+ .cal-chip.travel { background: var(--info-soft); color: var(--info); border-left-color: var(--info); }
363
+ .cal-chip.finance { background: var(--warning-soft); color: var(--warning); border-left-color: var(--warning); }
364
+ .cal-chip.birthday { background: var(--pink-soft); color: var(--pink); border-left-color: var(--pink); }
365
+ .cal-chip.holiday { background: var(--orange-soft); color: var(--orange); border-left-color: var(--orange); }
366
+ .cal-chip.solid { color: #fff; }
367
+ .cal-chip.solid.work { background: var(--primary); border-left-color: var(--primary-dark); }
368
+ .cal-chip.solid.team { background: var(--success); border-left-color: var(--success); }
369
+ .cal-chip.solid.personal { background: var(--purple); border-left-color: var(--purple); }
370
+
371
+ .cal-chip-more {
372
+ padding: 3px 7px;
373
+ font-size: 10.5px;
374
+ color: var(--t-muted);
375
+ font-weight: 600;
376
+ cursor: pointer;
377
+ transition: color 160ms;
378
+ }
379
+ .cal-chip-more:hover { color: var(--primary); }
380
+
@@ -0,0 +1,44 @@
1
+ /* ============ CHARTS PAGE ============ */
2
+
3
+ .chart-pad { position: relative; padding: 8px 0 4px; }
4
+ .chart-canvas-wrap {
5
+ position: relative;
6
+ width: 100%;
7
+ min-height: 240px;
8
+ }
9
+
10
+ .chart-legend {
11
+ display: flex; flex-wrap: wrap; gap: 14px;
12
+ margin-top: 14px;
13
+ padding-top: 14px;
14
+ border-top: 1px solid var(--border-soft);
15
+ }
16
+ .chart-legend-item {
17
+ display: inline-flex; align-items: center; gap: 8px;
18
+ font-size: 12px;
19
+ color: var(--t-muted);
20
+ }
21
+ .chart-legend-item .swatch {
22
+ width: 10px; height: 10px;
23
+ border-radius: 3px;
24
+ flex-shrink: 0;
25
+ }
26
+
27
+ .chart-meta-row {
28
+ display: flex; gap: 18px;
29
+ padding-top: 14px;
30
+ border-top: 1px dashed var(--border-soft);
31
+ margin-top: 14px;
32
+ flex-wrap: wrap;
33
+ }
34
+ .chart-meta-cell { display: flex; flex-direction: column; gap: 3px; min-width: 90px; }
35
+ .chart-meta-label { font-size: 10.5px; color: var(--t-light); text-transform: uppercase; letter-spacing: 0.1em; font-family: 'JetBrains Mono', monospace; }
36
+ .chart-meta-value {
37
+ font-family: 'Inter Tight', sans-serif;
38
+ font-weight: 700;
39
+ font-size: 17px;
40
+ letter-spacing: -0.02em;
41
+ color: var(--t-base);
42
+ }
43
+ .chart-meta-value.up { color: var(--success); }
44
+ .chart-meta-value.down { color: var(--danger); }