ezpm2gui 1.4.0 → 1.6.0

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 (43) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +321 -295
  3. package/bin/ezpm2gui.js +10 -10
  4. package/bin/ezpm2gui.ts +51 -51
  5. package/bin/generate-ecosystem.js +36 -36
  6. package/bin/generate-ecosystem.ts +56 -56
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.js +2 -2
  9. package/dist/server/config/project-configs.json +236 -0
  10. package/dist/server/index.js +214 -25
  11. package/dist/server/routes/deployApplication.js +6 -5
  12. package/dist/server/routes/pageAuth.d.ts +3 -0
  13. package/dist/server/routes/pageAuth.js +177 -0
  14. package/dist/server/routes/remoteConnections.js +260 -0
  15. package/dist/server/routes/updates.d.ts +3 -0
  16. package/dist/server/routes/updates.js +135 -0
  17. package/dist/server/utils/remote-connection.d.ts +18 -0
  18. package/dist/server/utils/remote-connection.js +216 -9
  19. package/package.json +73 -71
  20. package/scripts/postinstall.js +36 -36
  21. package/src/client/build/asset-manifest.json +6 -6
  22. package/src/client/build/favicon.ico +2 -2
  23. package/src/client/build/index.html +1 -1
  24. package/src/client/build/logo192.svg +7 -7
  25. package/src/client/build/logo512.svg +7 -7
  26. package/src/client/build/manifest.json +24 -24
  27. package/src/client/build/static/css/main.775772ee.css +5 -0
  28. package/src/client/build/static/css/main.775772ee.css.map +1 -0
  29. package/src/client/build/static/js/main.cbcb09c9.js +3 -0
  30. package/src/client/build/static/js/main.cbcb09c9.js.map +1 -0
  31. package/dist/server/config/cron-jobs.json +0 -1
  32. package/dist/server/config/remote-connections.json +0 -3
  33. package/dist/server/daemon/ezpm2gui.err.log +0 -414
  34. package/dist/server/daemon/ezpm2gui.exe +0 -0
  35. package/dist/server/daemon/ezpm2gui.exe.config +0 -6
  36. package/dist/server/daemon/ezpm2gui.out.log +0 -289
  37. package/dist/server/daemon/ezpm2gui.wrapper.log +0 -172
  38. package/dist/server/daemon/ezpm2gui.xml +0 -32
  39. package/src/client/build/static/css/main.c506cba5.css +0 -5
  40. package/src/client/build/static/css/main.c506cba5.css.map +0 -1
  41. package/src/client/build/static/js/main.5278cddd.js +0 -3
  42. package/src/client/build/static/js/main.5278cddd.js.map +0 -1
  43. /package/src/client/build/static/js/{main.5278cddd.js.LICENSE.txt → main.cbcb09c9.js.LICENSE.txt} +0 -0
@@ -1,289 +0,0 @@
1
- Loaded 0 remote connections from disk
2
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
3
- Server running on http://localhost:2502
4
- Client connected for log streaming
5
- Client connected
6
- Client disconnected from log streaming
7
- Client disconnected
8
- Client connected for log streaming
9
- Client connected
10
- Client disconnected from log streaming
11
- Client disconnected
12
- Client connected for log streaming
13
- Client connected
14
- Client disconnected from log streaming
15
- Client disconnected
16
- Client connected for log streaming
17
- Client connected
18
- Client disconnected from log streaming
19
- Client disconnected
20
- Client connected for log streaming
21
- Client connected
22
- Client disconnected from log streaming
23
- Client disconnected
24
- Client connected for log streaming
25
- Client connected
26
- Client disconnected from log streaming
27
- Client disconnected
28
- Client connected for log streaming
29
- Client connected
30
- Client disconnected from log streaming
31
- Client disconnected
32
- Client connected for log streaming
33
- Client connected
34
- Client disconnected from log streaming
35
- Client disconnected
36
- Client connected for log streaming
37
- Client connected
38
- Client disconnected from log streaming
39
- Client disconnected
40
- Client connected for log streaming
41
- Client connected
42
- Client disconnected from log streaming
43
- Client disconnected
44
- Client connected for log streaming
45
- Client connected
46
- Client disconnected from log streaming
47
- Client disconnected
48
- Client connected for log streaming
49
- Client connected
50
- Client disconnected from log streaming
51
- Client disconnected
52
- Client connected for log streaming
53
- Client connected
54
- Client disconnected from log streaming
55
- Client disconnected
56
- Client connected for log streaming
57
- Client connected
58
- Client disconnected from log streaming
59
- Client disconnected
60
- Client connected for log streaming
61
- Client connected
62
- Client disconnected from log streaming
63
- Client disconnected
64
- Client connected for log streaming
65
- Client connected
66
- Client disconnected from log streaming
67
- Client disconnected
68
- Client connected for log streaming
69
- Client connected
70
- Client disconnected from log streaming
71
- Client disconnected
72
- Client connected for log streaming
73
- Client connected
74
- Client disconnected from log streaming
75
- Client disconnected
76
- Client connected for log streaming
77
- Client connected
78
- Client disconnected from log streaming
79
- Client disconnected
80
- Client connected for log streaming
81
- Client connected
82
- Client disconnected from log streaming
83
- Client disconnected
84
- Client connected for log streaming
85
- Client connected
86
- Client disconnected from log streaming
87
- Client disconnected
88
- Client connected for log streaming
89
- Client connected
90
- Client disconnected from log streaming
91
- Client disconnected
92
- Client connected for log streaming
93
- Client connected
94
- Client disconnected from log streaming
95
- Client disconnected
96
- Client connected for log streaming
97
- Client connected
98
- Client disconnected from log streaming
99
- Client disconnected
100
- Client connected for log streaming
101
- Client connected
102
- Client disconnected from log streaming
103
- Client disconnected
104
- Client connected for log streaming
105
- Client connected
106
- Client disconnected from log streaming
107
- Client disconnected
108
- Client connected for log streaming
109
- Client connected
110
- Client disconnected from log streaming
111
- Client disconnected
112
- Client connected for log streaming
113
- Client connected
114
- Client disconnected from log streaming
115
- Client disconnected
116
- Loaded 0 remote connections from disk
117
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
118
- Server running on http://localhost:2502
119
- Client connected for log streaming
120
- Client connected
121
- Client disconnected from log streaming
122
- Client disconnected
123
- Client connected for log streaming
124
- Client connected
125
- Client disconnected from log streaming
126
- Client disconnected
127
- Client connected for log streaming
128
- Client connected
129
- Client disconnected from log streaming
130
- Client disconnected
131
- Client connected for log streaming
132
- Client connected
133
- Client disconnected from log streaming
134
- Client disconnected
135
- Client connected for log streaming
136
- Client connected
137
- Client disconnected from log streaming
138
- Client disconnected
139
- Client connected for log streaming
140
- Client connected
141
- Client disconnected from log streaming
142
- Client disconnected
143
- Client connected for log streaming
144
- Client connected
145
- Client disconnected from log streaming
146
- Client disconnected
147
- Client connected for log streaming
148
- Client connected
149
- Client disconnected from log streaming
150
- Client disconnected
151
- Client connected for log streaming
152
- Client connected
153
- Client disconnected from log streaming
154
- Client disconnected
155
- Client connected for log streaming
156
- Client connected
157
- Client disconnected from log streaming
158
- Client disconnected
159
- Client connected for log streaming
160
- Client connected
161
- Client disconnected from log streaming
162
- Client disconnected
163
- Loaded 0 remote connections from disk
164
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
165
- Server running on http://localhost:2502
166
- Client connected for log streaming
167
- Client connected
168
- Client disconnected from log streaming
169
- Client disconnected
170
- Client connected for log streaming
171
- Client connected
172
- Client disconnected from log streaming
173
- Client disconnected
174
- Client connected for log streaming
175
- Client connected
176
- Client disconnected from log streaming
177
- Client disconnected
178
- Client connected for log streaming
179
- Client connected
180
- Client disconnected from log streaming
181
- Client disconnected
182
- Client connected for log streaming
183
- Client connected
184
- Client disconnected from log streaming
185
- Client disconnected
186
- Client connected for log streaming
187
- Client connected
188
- Client disconnected from log streaming
189
- Client disconnected
190
- Client connected for log streaming
191
- Client connected
192
- Client disconnected from log streaming
193
- Client disconnected
194
- Loaded 0 remote connections from disk
195
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
196
- Server running on http://localhost:2502
197
- Client connected for log streaming
198
- Client connected
199
- Client disconnected from log streaming
200
- Client disconnected
201
- Client connected for log streaming
202
- Client connected
203
- Client disconnected from log streaming
204
- Client disconnected
205
- Client connected for log streaming
206
- Client connected
207
- Client disconnected from log streaming
208
- Client disconnected
209
- Client connected for log streaming
210
- Client connected
211
- Client disconnected from log streaming
212
- Client disconnected
213
- Loaded 0 remote connections from disk
214
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
215
- Server running on http://localhost:2502
216
- Client connected for log streaming
217
- Client connected
218
- Client disconnected from log streaming
219
- Client disconnected
220
- Loaded 0 remote connections from disk
221
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
222
- Server running on http://localhost:2502
223
- Loaded 0 remote connections from disk
224
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
225
- Server running on http://localhost:2502
226
- Loaded 0 remote connections from disk
227
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
228
- Server running on http://localhost:2502
229
- Loaded 0 remote connections from disk
230
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
231
- Server running on http://localhost:2502
232
- Loaded 0 remote connections from disk
233
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
234
- Server running on http://localhost:2502
235
- Loaded 0 remote connections from disk
236
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
237
- Server running on http://localhost:2502
238
- Loaded 0 remote connections from disk
239
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
240
- Server running on http://localhost:2502
241
- Loaded 0 remote connections from disk
242
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
243
- Server running on http://localhost:2502
244
- Client connected for log streaming
245
- Client connected
246
- Client disconnected from log streaming
247
- Client disconnected
248
- Client connected for log streaming
249
- Client connected
250
- Client disconnected from log streaming
251
- Client disconnected
252
- Loaded 0 remote connections from disk
253
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
254
- Server running on http://localhost:2502
255
- Loaded 0 remote connections from disk
256
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
257
- Server running on http://localhost:2502
258
- Loaded 0 remote connections from disk
259
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
260
- Server running on http://localhost:2502
261
- Loaded 0 remote connections from disk
262
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
263
- Server running on http://localhost:2502
264
- Loaded 0 remote connections from disk
265
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
266
- Server running on http://localhost:2502
267
- Loaded 0 remote connections from disk
268
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
269
- Server running on http://localhost:2502
270
- Loaded 0 remote connections from disk
271
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
272
- Server running on http://localhost:2502
273
- Loaded 0 remote connections from disk
274
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
275
- Server running on http://localhost:2502
276
- Loaded 0 remote connections from disk
277
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
278
- Server running on http://localhost:2502
279
- Client connected for log streaming
280
- Client connected
281
- Client disconnected from log streaming
282
- Client disconnected
283
- Client connected for log streaming
284
- Client connected
285
- Client disconnected from log streaming
286
- Client disconnected
287
- Loaded 0 remote connections from disk
288
- Serving static files from: D:\Personal\ezpm2gui\src\client\build
289
- Server running on http://localhost:2502
@@ -1,172 +0,0 @@
1
- 2026-02-03 07:22:50 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
2
- 2026-02-03 07:22:50 - Started 58720
3
- 2026-02-03 13:33:07 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
4
- 2026-02-03 13:33:07 - Started 29980
5
- 2026-02-03 13:49:36 - Stopping ezpm2gui.exe
6
- 2026-02-03 13:49:36 - ProcessKill 29980
7
- 2026-02-03 13:49:37 - Shutdown exception
8
- Message:A system shutdown is in progress.
9
-
10
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
11
- at System.Management.ManagementScope.InitializeGuts(Object o)
12
- at System.Management.ManagementScope.Initialize()
13
- at System.Management.ManagementObjectSearcher.Initialize()
14
- at System.Management.ManagementObjectSearcher.Get()
15
- at winsw.WrapperService.GetChildPids(Int32 pid)
16
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
17
- at winsw.WrapperService.StopIt()
18
- at winsw.WrapperService.OnShutdown()
19
- 2026-02-03 13:52:46 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
20
- 2026-02-03 13:52:46 - Started 10836
21
- 2026-02-05 03:07:37 - Stopping ezpm2gui.exe
22
- 2026-02-05 03:07:37 - ProcessKill 10836
23
- 2026-02-05 03:07:38 - Shutdown exception
24
- Message:A system shutdown is in progress.
25
-
26
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
27
- at System.Management.ManagementScope.InitializeGuts(Object o)
28
- at System.Management.ManagementScope.Initialize()
29
- at System.Management.ManagementObjectSearcher.Initialize()
30
- at System.Management.ManagementObjectSearcher.Get()
31
- at winsw.WrapperService.GetChildPids(Int32 pid)
32
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
33
- at winsw.WrapperService.StopIt()
34
- at winsw.WrapperService.OnShutdown()
35
- 2026-02-05 03:10:44 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
36
- 2026-02-05 03:10:44 - Started 5760
37
- 2026-02-06 15:22:16 - Stopping ezpm2gui.exe
38
- 2026-02-06 15:22:16 - ProcessKill 5760
39
- 2026-02-06 15:22:17 - Shutdown exception
40
- Message:A system shutdown is in progress.
41
-
42
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
43
- at System.Management.ManagementScope.InitializeGuts(Object o)
44
- at System.Management.ManagementScope.Initialize()
45
- at System.Management.ManagementObjectSearcher.Initialize()
46
- at System.Management.ManagementObjectSearcher.Get()
47
- at winsw.WrapperService.GetChildPids(Int32 pid)
48
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
49
- at winsw.WrapperService.StopIt()
50
- at winsw.WrapperService.OnShutdown()
51
- 2026-02-06 15:25:37 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
52
- 2026-02-06 15:25:37 - Started 28320
53
- 2026-02-13 11:14:59 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
54
- 2026-02-13 11:14:59 - Started 5152
55
- 2026-02-16 15:42:26 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
56
- 2026-02-16 15:42:26 - Started 14076
57
- 2026-02-19 09:36:43 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
58
- 2026-02-19 09:36:43 - Started 18556
59
- 2026-02-23 21:07:12 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
60
- 2026-02-23 21:07:12 - Started 23360
61
- 2026-02-25 22:20:09 - Stopping ezpm2gui.exe
62
- 2026-02-25 22:20:09 - ProcessKill 23360
63
- 2026-02-25 22:20:09 - Shutdown exception
64
- Message:A system shutdown is in progress.
65
-
66
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
67
- at System.Management.ManagementScope.InitializeGuts(Object o)
68
- at System.Management.ManagementScope.Initialize()
69
- at System.Management.ManagementObjectSearcher.Initialize()
70
- at System.Management.ManagementObjectSearcher.Get()
71
- at winsw.WrapperService.GetChildPids(Int32 pid)
72
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
73
- at winsw.WrapperService.StopIt()
74
- at winsw.WrapperService.OnShutdown()
75
- 2026-02-25 22:23:16 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
76
- 2026-02-25 22:23:16 - Started 8856
77
- 2026-02-27 09:31:20 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
78
- 2026-02-27 09:31:20 - Started 22388
79
- 2026-03-02 14:00:52 - Stopping ezpm2gui.exe
80
- 2026-03-02 14:00:52 - ProcessKill 22388
81
- 2026-03-02 14:00:53 - Shutdown exception
82
- Message:A system shutdown is in progress.
83
-
84
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
85
- at System.Management.ManagementScope.InitializeGuts(Object o)
86
- at System.Management.ManagementScope.Initialize()
87
- at System.Management.ManagementObjectSearcher.Initialize()
88
- at System.Management.ManagementObjectSearcher.Get()
89
- at winsw.WrapperService.GetChildPids(Int32 pid)
90
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
91
- at winsw.WrapperService.StopIt()
92
- at winsw.WrapperService.OnShutdown()
93
- 2026-03-02 14:04:09 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
94
- 2026-03-02 14:04:09 - Started 8956
95
- 2026-03-05 09:22:57 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
96
- 2026-03-05 09:22:57 - Started 21964
97
- 2026-03-09 12:40:15 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
98
- 2026-03-09 12:40:15 - Started 8708
99
- 2026-03-11 07:52:40 - Stopping ezpm2gui.exe
100
- 2026-03-11 07:52:40 - ProcessKill 8708
101
- 2026-03-11 07:52:40 - Shutdown exception
102
- Message:A system shutdown is in progress.
103
-
104
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
105
- at System.Management.ManagementScope.InitializeGuts(Object o)
106
- at System.Management.ManagementScope.Initialize()
107
- at System.Management.ManagementObjectSearcher.Initialize()
108
- at System.Management.ManagementObjectSearcher.Get()
109
- at winsw.WrapperService.GetChildPids(Int32 pid)
110
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
111
- at winsw.WrapperService.StopIt()
112
- at winsw.WrapperService.OnShutdown()
113
- 2026-03-11 09:19:11 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
114
- 2026-03-11 09:19:11 - Started 4560
115
- 2026-03-12 09:33:01 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
116
- 2026-03-12 09:33:01 - Started 21652
117
- 2026-03-13 09:13:47 - Stopping ezpm2gui.exe
118
- 2026-03-13 09:13:47 - ProcessKill 21652
119
- 2026-03-13 09:13:47 - Shutdown exception
120
- Message:A system shutdown is in progress.
121
-
122
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
123
- at System.Management.ManagementScope.InitializeGuts(Object o)
124
- at System.Management.ManagementScope.Initialize()
125
- at System.Management.ManagementObjectSearcher.Initialize()
126
- at System.Management.ManagementObjectSearcher.Get()
127
- at winsw.WrapperService.GetChildPids(Int32 pid)
128
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
129
- at winsw.WrapperService.StopIt()
130
- at winsw.WrapperService.OnShutdown()
131
- 2026-03-13 09:16:50 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
132
- 2026-03-13 09:16:50 - Started 21876
133
- 2026-03-17 10:26:17 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
134
- 2026-03-17 10:26:17 - Started 5184
135
- 2026-03-20 04:23:27 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
136
- 2026-03-20 04:23:27 - Started 7204
137
- 2026-03-25 13:32:26 - Stopping ezpm2gui.exe
138
- 2026-03-25 13:32:26 - ProcessKill 7204
139
- 2026-03-25 13:32:27 - Shutdown exception
140
- Message:A system shutdown is in progress.
141
-
142
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
143
- at System.Management.ManagementScope.InitializeGuts(Object o)
144
- at System.Management.ManagementScope.Initialize()
145
- at System.Management.ManagementObjectSearcher.Initialize()
146
- at System.Management.ManagementObjectSearcher.Get()
147
- at winsw.WrapperService.GetChildPids(Int32 pid)
148
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
149
- at winsw.WrapperService.StopIt()
150
- at winsw.WrapperService.OnShutdown()
151
- 2026-03-25 22:58:38 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
152
- 2026-03-25 22:58:38 - Started 4752
153
- 2026-03-27 17:10:07 - Stopping ezpm2gui.exe
154
- 2026-03-27 17:10:07 - ProcessKill 4752
155
- 2026-03-27 17:10:07 - Shutdown exception
156
- Message:A system shutdown is in progress.
157
-
158
- Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
159
- at System.Management.ManagementScope.InitializeGuts(Object o)
160
- at System.Management.ManagementScope.Initialize()
161
- at System.Management.ManagementObjectSearcher.Initialize()
162
- at System.Management.ManagementObjectSearcher.Get()
163
- at winsw.WrapperService.GetChildPids(Int32 pid)
164
- at winsw.WrapperService.StopProcessAndChildren(Int32 pid)
165
- at winsw.WrapperService.StopIt()
166
- at winsw.WrapperService.OnShutdown()
167
- 2026-03-27 17:13:23 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
168
- 2026-03-27 17:13:23 - Started 7852
169
- 2026-03-28 00:07:20 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
170
- 2026-03-28 00:07:20 - Started 24396
171
- 2026-04-01 10:06:20 - Starting C:\nvm4w\nodejs\node.exe D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js --file D:\Personal\ezpm2gui\dist\server\index.js --scriptoptions= --log "ezPM2GUI wrapper" --grow 0.5 --wait 2 --maxrestarts 10 --abortonerror n --stopparentfirst undefined
172
- 2026-04-01 10:06:20 - Started 25584
@@ -1,32 +0,0 @@
1
- <service>
2
- <id>ezpm2gui.exe</id>
3
- <name>ezPM2GUI</name>
4
- <description>ezPM2GUI - Modern Web GUI for PM2 Process Manager</description>
5
- <executable>C:\nvm4w\nodejs\node.exe</executable>
6
- <argument>D:\Personal\ezpm2gui\node_modules\node-windows\lib\wrapper.js</argument>
7
- <argument>--file</argument>
8
- <argument>D:\Personal\ezpm2gui\dist\server\index.js</argument>
9
- <argument>--scriptoptions=</argument>
10
- <argument>--log</argument>
11
- <argument>ezPM2GUI wrapper</argument>
12
- <argument>--grow</argument>
13
- <argument>0.5</argument>
14
- <argument>--wait</argument>
15
- <argument>2</argument>
16
- <argument>--maxrestarts</argument>
17
- <argument>10</argument>
18
- <argument>--abortonerror</argument>
19
- <argument>n</argument>
20
- <argument>--stopparentfirst</argument>
21
- <argument>undefined</argument>
22
- <logmode>rotate</logmode>
23
- <stoptimeout>30sec</stoptimeout>
24
- <env name="NODE_ENV" value="production"/>
25
- <env name="PORT" value="2502"/>
26
- <serviceaccount>
27
- <domain>CHANDAN</domain>
28
- <user>LocalSystem</user>
29
- <password></password>
30
- </serviceaccount>
31
- <workingdirectory>D:\Personal\ezpm2gui</workingdirectory>
32
- </service>
@@ -1,5 +0,0 @@
1
- @import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap);
2
- /*
3
- ! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com
4
- */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:JetBrains Mono,ui-monospace,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:repeat;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:inherit;print-color-adjust:inherit}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}@media (forced-colors:active){[type=checkbox]:checked{-webkit-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active){[type=radio]:checked{-webkit-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}@media (forced-colors:active){[type=checkbox]:indeterminate{-webkit-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:#0000 none repeat 0 0/auto auto padding-box border-box scroll;background:initial;border-color:inherit;border-radius:0;border-width:0;font-size:inherit;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-feature-settings:"rlig" 1,"calt" 1,"kern" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:rgb(241 245 249/var(--tw-bg-opacity));color:rgb(15 23 42/var(--tw-text-opacity));font-family:Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.01em;line-height:1.45;margin:0}.dark body,body{--tw-bg-opacity:1;--tw-text-opacity:1}.dark body{background-color:rgb(2 6 23/var(--tw-bg-opacity));color:rgb(241 245 249/var(--tw-text-opacity))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.card{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #00000005;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(226 232 240/var(--tw-border-opacity));border-radius:1rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(:where(.dark) .card){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity));border-color:rgb(30 41 59/var(--tw-border-opacity))}.card-premium{--tw-shadow:0 1px 3px 0 #0000000f,0 1px 2px -1px #0000000a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:#ffffffe6;border-color:#e2e8f099;border-radius:1.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(:where(.dark) .card-premium){background-color:#0f172ae6;border-color:#1e293b99}.card-content-compact{padding:.5rem}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;line-height:1rem;padding:.125rem .5rem}.badge-success{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity));color:rgb(22 101 52/var(--tw-text-opacity))}:is(:where(.dark) .badge-success){--tw-text-opacity:1;background-color:#14532d40;color:rgb(74 222 128/var(--tw-text-opacity))}.badge-warning{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity));color:rgb(146 64 14/var(--tw-text-opacity))}:is(:where(.dark) .badge-warning){--tw-text-opacity:1;background-color:#78350f40;color:rgb(251 191 36/var(--tw-text-opacity))}.badge-danger{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity));color:rgb(153 27 27/var(--tw-text-opacity))}:is(:where(.dark) .badge-danger){--tw-text-opacity:1;background-color:#7f1d1d40;color:rgb(248 113 113/var(--tw-text-opacity))}.badge-info{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity));color:rgb(55 48 163/var(--tw-text-opacity))}:is(:where(.dark) .badge-info){--tw-text-opacity:1;background-color:#312e8140;color:rgb(129 140 248/var(--tw-text-opacity))}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.left-2{left:.5rem}.left-2\.5{left:.625rem}.top-0{top:0}.top-1\/2{top:50%}.top-9{top:2.25rem}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:.25rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[calc\(100vh-2\.25rem\)\]{height:calc(100vh - 2.25rem)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[200px\]{width:200px}.w-full{width:100%}.min-w-\[2rem\]{min-width:2rem}.min-w-\[36px\]{min-width:36px}.min-w-\[56px\]{min-width:56px}.min-w-full{min-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-neutral-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity))}.divide-neutral-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:2rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:1rem}.rounded-md{border-radius:.75rem}.rounded-xl{border-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-danger-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.border-neutral-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-neutral-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.border-t-transparent{border-top-color:#0000}.bg-accent-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-danger-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-danger-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-accent-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-danger-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-neutral-100{--tw-gradient-from:#f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to:#f1f5f900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-success-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-warning-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:#f59e0b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-accent-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-accent-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-danger-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-neutral-200{--tw-gradient-to:#e2e8f0 var(--tw-gradient-to-position)}.to-primary-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-success-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-warning-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-10{padding-bottom:2.5rem}.pb-3{padding-bottom:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pr-6{padding-right:1.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-9{padding-top:2.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.0625rem;line-height:1.625rem}.text-3xl{font-size:1.1875rem;line-height:1.75rem}.text-base{font-size:.875rem;line-height:1.375rem}.text-lg{font-size:.9375rem;line-height:1.5rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-xl{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-danger-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-neutral-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-neutral-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.text-primary-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity))}.overline{-webkit-text-decoration-line:overline;text-decoration-line:overline}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.placeholder-neutral-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity))}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 20px 25px -5px #00000014,0 8px 10px -6px #0000000a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 3px 0 #0000000f,0 1px 2px -1px #0000000a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 25px 50px -12px #0000001f;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b899}.dark ::-webkit-scrollbar-thumb{background:#64748b59}.dark ::-webkit-scrollbar-thumb:hover{background:#64748b99}.glass-effect{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;background-clip:text}.card,.card-premium,aside,body,nav{transition:background-color .15s ease,border-color .15s ease,color .15s ease}:focus-visible{outline:2px solid #6366f1;outline-offset:2px}:focus:not(:focus-visible){outline:none}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-neutral-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.hover\:bg-neutral-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:ml-\[200px\]{margin-left:200px}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-40{width:10rem}.sm\:flex-grow-0{flex-grow:0}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}:is(:where(.dark) .dark\:divide-neutral-800)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(30 41 59/var(--tw-divide-opacity))}:is(:where(.dark) .dark\:border-danger-800\/50){border-color:#991b1b80}:is(:where(.dark) .dark\:border-neutral-700){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-neutral-800){--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}:is(:where(.dark) .dark\:bg-accent-900\/20){background-color:#581c8733}:is(:where(.dark) .dark\:bg-amber-900\/25){background-color:#78350f40}:is(:where(.dark) .dark\:bg-blue-900\/30){background-color:#1e3a8a4d}:is(:where(.dark) .dark\:bg-danger-900\/20){background-color:#7f1d1d33}:is(:where(.dark) .dark\:bg-emerald-900\/25){background-color:#064e3b40}:is(:where(.dark) .dark\:bg-green-900\/25){background-color:#14532d40}:is(:where(.dark) .dark\:bg-green-900\/30){background-color:#14532d4d}:is(:where(.dark) .dark\:bg-neutral-700){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-neutral-800){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-neutral-800\/50){background-color:#1e293b80}:is(:where(.dark) .dark\:bg-neutral-900){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-primary-900\/25){background-color:#312e8140}:is(:where(.dark) .dark\:bg-red-900\/25){background-color:#7f1d1d40}:is(:where(.dark) .dark\:bg-red-900\/30){background-color:#7f1d1d4d}:is(:where(.dark) .dark\:bg-rose-900\/25){background-color:#88133740}:is(:where(.dark) .dark\:bg-yellow-900\/25){background-color:#713f1240}:is(:where(.dark) .dark\:bg-yellow-900\/30){background-color:#713f124d}:is(:where(.dark) .dark\:from-neutral-800){--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:#1e293b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}:is(:where(.dark) .dark\:to-neutral-700){--tw-gradient-to:#334155 var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:text-accent-400){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-amber-400){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-danger-400){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-emerald-400){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-green-400){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-neutral-100){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-neutral-300){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-neutral-400){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-neutral-500){--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-neutral-600){--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-primary-400){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-rose-400){--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-yellow-400){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}:is(:where(.dark) .dark\:placeholder-neutral-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity))}:is(:where(.dark) .dark\:hover\:bg-blue-900\/50:hover){background-color:#1e3a8a80}:is(:where(.dark) .dark\:hover\:bg-green-900\/50:hover){background-color:#14532d80}:is(:where(.dark) .dark\:hover\:bg-neutral-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}:is(:where(.dark) .dark\:hover\:bg-neutral-800:hover){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}:is(:where(.dark) .dark\:hover\:bg-neutral-800\/40:hover){background-color:#1e293b66}:is(:where(.dark) .dark\:hover\:bg-neutral-800\/50:hover){background-color:#1e293b80}:is(:where(.dark) .dark\:hover\:bg-red-900\/50:hover){background-color:#7f1d1d80}:is(:where(.dark) .dark\:hover\:bg-yellow-900\/50:hover){background-color:#713f1280}:is(:where(.dark) .dark\:hover\:text-neutral-100:hover){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}:is(:where(.dark) .dark\:hover\:text-neutral-200:hover){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}
5
- /*# sourceMappingURL=main.c506cba5.css.map*/
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/css/main.c506cba5.css","mappings":"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","sources":["index.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');\r\n@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n\r\n/* ─── Base ────────────────────────────────────────────────── */\r\n@layer base {\r\n * { @apply box-border; }\r\n\r\n html { @apply scroll-smooth; font-size: 16px; }\r\n\r\n body {\r\n @apply bg-neutral-100 text-neutral-900 font-sans antialiased;\r\n margin: 0;\r\n line-height: 1.45;\r\n letter-spacing: -0.01em;\r\n font-feature-settings: \"rlig\" 1, \"calt\" 1, \"kern\" 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n\r\n .dark body {\r\n @apply bg-neutral-950 text-neutral-100;\r\n }\r\n}\r\n\r\n/* ─── Components ─────────────────────────────────────────── */\r\n@layer components {\r\n\r\n /* Cards */\r\n .card {\r\n @apply bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-800 shadow-xs;\r\n }\r\n .card-premium {\r\n @apply bg-white/90 dark:bg-neutral-900/90 backdrop-blur-sm rounded-xl border border-neutral-200/60 dark:border-neutral-800/60 shadow-sm;\r\n }\r\n .card-content { @apply p-3; }\r\n .card-content-compact { @apply p-2; }\r\n\r\n /* Buttons — slim by default */\r\n .btn-primary {\r\n @apply bg-primary-600 hover:bg-primary-700 active:bg-primary-800\r\n text-white font-medium text-sm\r\n px-3 py-1.5 rounded-md\r\n transition-colors duration-150\r\n focus:outline-none focus:ring-2 focus:ring-primary-500/40\r\n shadow-xs hover:shadow-sm;\r\n }\r\n .btn-secondary {\r\n @apply bg-neutral-100 hover:bg-neutral-200 active:bg-neutral-300\r\n dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:active:bg-neutral-600\r\n text-neutral-800 dark:text-neutral-200\r\n font-medium text-sm\r\n px-3 py-1.5 rounded-md\r\n transition-colors duration-150\r\n focus:outline-none focus:ring-2 focus:ring-neutral-400/30;\r\n }\r\n .btn-ghost {\r\n @apply bg-transparent hover:bg-neutral-100 dark:hover:bg-neutral-800\r\n text-neutral-600 dark:text-neutral-400\r\n font-medium text-sm\r\n px-2.5 py-1 rounded-md\r\n transition-colors duration-150\r\n focus:outline-none;\r\n }\r\n .btn-danger {\r\n @apply bg-danger-600 hover:bg-danger-700\r\n text-white font-medium text-sm\r\n px-3 py-1.5 rounded-md\r\n transition-colors duration-150\r\n focus:outline-none focus:ring-2 focus:ring-danger-400/30;\r\n }\r\n\r\n /* Inputs */\r\n .input-field {\r\n @apply w-full px-2.5 py-1.5\r\n border border-neutral-300 dark:border-neutral-700\r\n rounded-md\r\n bg-white dark:bg-neutral-900\r\n text-neutral-900 dark:text-neutral-100 text-sm\r\n placeholder-neutral-400 dark:placeholder-neutral-500\r\n focus:outline-none focus:ring-2 focus:ring-primary-500/30 focus:border-primary-500\r\n transition-colors duration-150;\r\n }\r\n\r\n /* Badges */\r\n .badge { @apply inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium; }\r\n .badge-success { @apply bg-success-100 text-success-800 dark:bg-success-900/25 dark:text-success-400; }\r\n .badge-warning { @apply bg-warning-100 text-warning-800 dark:bg-warning-900/25 dark:text-warning-400; }\r\n .badge-danger { @apply bg-danger-100 text-danger-800 dark:bg-danger-900/25 dark:text-danger-400; }\r\n .badge-info { @apply bg-primary-100 text-primary-800 dark:bg-primary-900/25 dark:text-primary-400; }\r\n .badge-neutral { @apply bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300; }\r\n\r\n /* Table helpers */\r\n .table-th {\r\n @apply px-2.5 py-1.5 text-left text-xs font-semibold\r\n text-neutral-500 dark:text-neutral-400\r\n uppercase tracking-wide\r\n border-b border-neutral-200 dark:border-neutral-800;\r\n }\r\n .table-td {\r\n @apply px-2.5 py-1.5 text-sm text-neutral-800 dark:text-neutral-200\r\n border-b border-neutral-100 dark:border-neutral-800/50;\r\n }\r\n}\r\n\r\n/* ─── Scrollbar ──────────────────────────────────────────── */\r\n::-webkit-scrollbar { width: 4px; height: 4px; }\r\n::-webkit-scrollbar-track { background: transparent; }\r\n::-webkit-scrollbar-thumb { background: rgba(148,163,184,.35); border-radius: 4px; }\r\n::-webkit-scrollbar-thumb:hover { background: rgba(148,163,184,.6); }\r\n.dark ::-webkit-scrollbar-thumb { background: rgba(100,116,139,.35); }\r\n.dark ::-webkit-scrollbar-thumb:hover { background: rgba(100,116,139,.6); }\r\n\r\n/* ─── Utilities ──────────────────────────────────────────── */\r\n.glass-effect {\r\n backdrop-filter: blur(16px);\r\n -webkit-backdrop-filter: blur(16px);\r\n}\r\n\r\n.text-gradient {\r\n background: linear-gradient(135deg, theme('colors.primary.500'), theme('colors.accent.500'));\r\n -webkit-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n background-clip: text;\r\n}\r\n\r\n/* Theme-switch transitions — only on non-motion backgrounds */\r\nbody, .card, .card-premium, nav, aside {\r\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\r\n}\r\n\r\n/* Accessibility focus ring */\r\n*:focus-visible {\r\n outline: 2px solid theme('colors.primary.500');\r\n outline-offset: 2px;\r\n}\r\n*:focus:not(:focus-visible) { outline: none; }\r\n"],"names":[],"sourceRoot":""}