web-mojo 2.1.46

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 (91) hide show
  1. package/LICENSE +198 -0
  2. package/README.md +510 -0
  3. package/dist/admin.cjs.js +2 -0
  4. package/dist/admin.cjs.js.map +1 -0
  5. package/dist/admin.css +621 -0
  6. package/dist/admin.es.js +7973 -0
  7. package/dist/admin.es.js.map +1 -0
  8. package/dist/auth.cjs.js +2 -0
  9. package/dist/auth.cjs.js.map +1 -0
  10. package/dist/auth.css +804 -0
  11. package/dist/auth.es.js +2168 -0
  12. package/dist/auth.es.js.map +1 -0
  13. package/dist/charts.cjs.js +2 -0
  14. package/dist/charts.cjs.js.map +1 -0
  15. package/dist/charts.css +1002 -0
  16. package/dist/charts.es.js +16 -0
  17. package/dist/charts.es.js.map +1 -0
  18. package/dist/chunks/ContextMenu-BrHqj0fn.js +80 -0
  19. package/dist/chunks/ContextMenu-BrHqj0fn.js.map +1 -0
  20. package/dist/chunks/ContextMenu-gEcpSz56.js +2 -0
  21. package/dist/chunks/ContextMenu-gEcpSz56.js.map +1 -0
  22. package/dist/chunks/DataView-DPryYpEW.js +2 -0
  23. package/dist/chunks/DataView-DPryYpEW.js.map +1 -0
  24. package/dist/chunks/DataView-DjZQrpba.js +843 -0
  25. package/dist/chunks/DataView-DjZQrpba.js.map +1 -0
  26. package/dist/chunks/Dialog-BsRx4eg3.js +2 -0
  27. package/dist/chunks/Dialog-BsRx4eg3.js.map +1 -0
  28. package/dist/chunks/Dialog-DSlctbon.js +1377 -0
  29. package/dist/chunks/Dialog-DSlctbon.js.map +1 -0
  30. package/dist/chunks/FilePreviewView-BmFHzK5K.js +5868 -0
  31. package/dist/chunks/FilePreviewView-BmFHzK5K.js.map +1 -0
  32. package/dist/chunks/FilePreviewView-DcdRl_ta.js +2 -0
  33. package/dist/chunks/FilePreviewView-DcdRl_ta.js.map +1 -0
  34. package/dist/chunks/FormView-CmBuwKGD.js +2 -0
  35. package/dist/chunks/FormView-CmBuwKGD.js.map +1 -0
  36. package/dist/chunks/FormView-DqUBMPJ9.js +5054 -0
  37. package/dist/chunks/FormView-DqUBMPJ9.js.map +1 -0
  38. package/dist/chunks/MetricsChart-CM4CI6eA.js +2095 -0
  39. package/dist/chunks/MetricsChart-CM4CI6eA.js.map +1 -0
  40. package/dist/chunks/MetricsChart-CPidSMaN.js +2 -0
  41. package/dist/chunks/MetricsChart-CPidSMaN.js.map +1 -0
  42. package/dist/chunks/PDFViewer-BNQlnS83.js +2 -0
  43. package/dist/chunks/PDFViewer-BNQlnS83.js.map +1 -0
  44. package/dist/chunks/PDFViewer-Dyo-Oeyd.js +946 -0
  45. package/dist/chunks/PDFViewer-Dyo-Oeyd.js.map +1 -0
  46. package/dist/chunks/Page-B524zSQs.js +351 -0
  47. package/dist/chunks/Page-B524zSQs.js.map +1 -0
  48. package/dist/chunks/Page-BFgj0pAA.js +2 -0
  49. package/dist/chunks/Page-BFgj0pAA.js.map +1 -0
  50. package/dist/chunks/TokenManager-BXNva8Jk.js +287 -0
  51. package/dist/chunks/TokenManager-BXNva8Jk.js.map +1 -0
  52. package/dist/chunks/TokenManager-Bzn4guFm.js +2 -0
  53. package/dist/chunks/TokenManager-Bzn4guFm.js.map +1 -0
  54. package/dist/chunks/TopNav-D3I3_25f.js +371 -0
  55. package/dist/chunks/TopNav-D3I3_25f.js.map +1 -0
  56. package/dist/chunks/TopNav-MDjL4kV0.js +2 -0
  57. package/dist/chunks/TopNav-MDjL4kV0.js.map +1 -0
  58. package/dist/chunks/User-BalfYTEF.js +3 -0
  59. package/dist/chunks/User-BalfYTEF.js.map +1 -0
  60. package/dist/chunks/User-DwIT-CTQ.js +1937 -0
  61. package/dist/chunks/User-DwIT-CTQ.js.map +1 -0
  62. package/dist/chunks/WebApp-B6mgbNn2.js +4767 -0
  63. package/dist/chunks/WebApp-B6mgbNn2.js.map +1 -0
  64. package/dist/chunks/WebApp-DqDowtkl.js +2 -0
  65. package/dist/chunks/WebApp-DqDowtkl.js.map +1 -0
  66. package/dist/chunks/WebSocketClient-D6i85jl2.js +2 -0
  67. package/dist/chunks/WebSocketClient-D6i85jl2.js.map +1 -0
  68. package/dist/chunks/WebSocketClient-Dvl3AYx1.js +297 -0
  69. package/dist/chunks/WebSocketClient-Dvl3AYx1.js.map +1 -0
  70. package/dist/core.css +1181 -0
  71. package/dist/css/web-mojo.css +17 -0
  72. package/dist/css-manifest.json +6 -0
  73. package/dist/docit.cjs.js +2 -0
  74. package/dist/docit.cjs.js.map +1 -0
  75. package/dist/docit.es.js +959 -0
  76. package/dist/docit.es.js.map +1 -0
  77. package/dist/index.cjs.js +2 -0
  78. package/dist/index.cjs.js.map +1 -0
  79. package/dist/index.es.js +2681 -0
  80. package/dist/index.es.js.map +1 -0
  81. package/dist/lightbox.cjs.js +2 -0
  82. package/dist/lightbox.cjs.js.map +1 -0
  83. package/dist/lightbox.css +606 -0
  84. package/dist/lightbox.es.js +3737 -0
  85. package/dist/lightbox.es.js.map +1 -0
  86. package/dist/loader.es.js +115 -0
  87. package/dist/loader.umd.js +85 -0
  88. package/dist/portal.css +2446 -0
  89. package/dist/table.css +639 -0
  90. package/dist/toast.css +181 -0
  91. package/package.json +179 -0
package/dist/admin.css ADDED
@@ -0,0 +1,621 @@
1
+ /**
2
+ * Admin CSS - Styles for administrative dashboard components
3
+ * Task Management, System Monitoring, and Admin UI elements
4
+ */
5
+
6
+ /* === Task Management Styles === */
7
+
8
+ .mojo-task-management-page {
9
+ padding: 0;
10
+ }
11
+
12
+ .mojo-task-management-container {
13
+ max-width: 100%;
14
+ margin: 0;
15
+ }
16
+
17
+ /* Task Stats Cards */
18
+ .mojo-task-stats-header .card {
19
+ transition: all 0.2s ease-in-out;
20
+ border: 1px solid var(--bs-border-color);
21
+ }
22
+
23
+ .mojo-task-stats-header .card:hover {
24
+ transform: translateY(-2px);
25
+ box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1) !important;
26
+ }
27
+
28
+ .mojo-task-stats-header .card-body {
29
+ padding: 1.5rem;
30
+ }
31
+
32
+ .mojo-task-stats-header h3 {
33
+ font-size: 2rem;
34
+ font-weight: 700;
35
+ color: var(--bs-dark);
36
+ }
37
+
38
+ .mojo-task-stats-header .badge {
39
+ font-size: 0.75rem;
40
+ padding: 0.375rem 0.5rem;
41
+ border-radius: 0.375rem;
42
+ }
43
+
44
+ .mojo-task-stats-header .fs-2 {
45
+ opacity: 0.6;
46
+ font-size: 2.5rem !important;
47
+ }
48
+
49
+ /* Task Runners Section */
50
+ .task-runners-section .mojo-task-runner-list {
51
+ max-height: 400px;
52
+ overflow-y: auto;
53
+ }
54
+
55
+ .task-runners-section .mojo-task-runner-item {
56
+ border: 1px solid var(--bs-gray-200);
57
+ transition: all 0.2s ease-in-out;
58
+ }
59
+
60
+ .task-runners-section .mojo-task-runner-item:hover {
61
+ border-color: var(--bs-primary);
62
+ background-color: var(--bs-gray-50) !important;
63
+ }
64
+
65
+ .task-runners-section .mojo-task-runner-info {
66
+ min-width: 0;
67
+ flex: 1;
68
+ }
69
+
70
+ .task-runners-section .mojo-task-runner-name {
71
+ font-size: 0.95rem;
72
+ margin-bottom: 0.25rem;
73
+ }
74
+
75
+ .task-runners-section .mojo-task-runner-channels {
76
+ word-break: break-all;
77
+ line-height: 1.3;
78
+ }
79
+
80
+ .task-runners-section .mojo-task-runner-list::-webkit-scrollbar {
81
+ width: 6px;
82
+ }
83
+
84
+ .task-runners-section .mojo-task-runner-list::-webkit-scrollbar-track {
85
+ background: var(--bs-gray-100);
86
+ border-radius: 3px;
87
+ }
88
+
89
+ .task-runners-section .mojo-task-runner-list::-webkit-scrollbar-thumb {
90
+ background: var(--bs-gray-400);
91
+ border-radius: 3px;
92
+ }
93
+
94
+ .task-runners-section .mojo-task-runner-list::-webkit-scrollbar-thumb:hover {
95
+ background: var(--bs-gray-500);
96
+ }
97
+
98
+ .task-runners-section .mojo-task-runner-status .badge {
99
+ font-size: 0.8rem;
100
+ padding: 0.5rem 0.75rem;
101
+ border-radius: 0.5rem;
102
+ font-weight: 500;
103
+ }
104
+
105
+ .task-runners-section .mojo-task-runner-actions {
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 0.5rem;
109
+ }
110
+
111
+ .task-runners-section .dropdown-toggle {
112
+ border: 1px solid var(--bs-border-color);
113
+ background: white;
114
+ transition: all 0.2s ease;
115
+ }
116
+
117
+ .task-runners-section .dropdown-toggle:hover {
118
+ background: var(--bs-gray-50);
119
+ border-color: var(--bs-primary);
120
+ }
121
+
122
+ .task-runners-section .dropdown-menu {
123
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
124
+ border: 1px solid var(--bs-border-color);
125
+ border-radius: 0.5rem;
126
+ min-width: 160px;
127
+ }
128
+
129
+ .task-runners-section .dropdown-item {
130
+ padding: 0.5rem 1rem;
131
+ transition: all 0.2s ease;
132
+ }
133
+
134
+ .task-runners-section .dropdown-item:hover {
135
+ background-color: var(--bs-gray-100);
136
+ }
137
+
138
+ .task-runners-section .dropdown-item i {
139
+ width: 1rem;
140
+ text-align: center;
141
+ }
142
+
143
+ /* Task Charts Section */
144
+ .mojo-task-charts-section .card {
145
+ border: 1px solid var(--bs-border-color);
146
+ transition: all 0.2s ease-in-out;
147
+ }
148
+
149
+ .mojo-task-charts-section .card:hover {
150
+ box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08) !important;
151
+ }
152
+
153
+ .mojo-task-charts-section .card-body {
154
+ padding: 1.5rem;
155
+ }
156
+
157
+ /* Task Tables Section */
158
+ .mojo-task-management-page .tab-view .nav-tabs {
159
+ border-bottom: 2px solid var(--bs-gray-200);
160
+ margin-bottom: 1.5rem;
161
+ }
162
+
163
+ .mojo-task-management-page .tab-view .nav-link {
164
+ color: var(--bs-gray-600);
165
+ border: none;
166
+ padding: 0.75rem 1.5rem;
167
+ margin-right: 0.5rem;
168
+ border-radius: 0.5rem 0.5rem 0 0;
169
+ transition: all 0.2s ease;
170
+ font-weight: 500;
171
+ }
172
+
173
+ .mojo-task-management-page .tab-view .nav-link:hover {
174
+ color: var(--bs-primary);
175
+ background-color: var(--bs-gray-50);
176
+ }
177
+
178
+ .mojo-task-management-page .tab-view .nav-link.active {
179
+ color: var(--bs-primary);
180
+ background-color: white;
181
+ border-bottom: 2px solid var(--bs-primary);
182
+ transform: translateY(1px);
183
+ }
184
+
185
+ .mojo-task-management-page .tab-content {
186
+ min-height: 400px;
187
+ }
188
+
189
+ .mojo-task-management-page .table-container {
190
+ background: white;
191
+ border-radius: 0.5rem;
192
+ }
193
+
194
+ /* Task Status Badges */
195
+ .badge.mojo-task-status-pending {
196
+ background-color: var(--bs-primary) !important;
197
+ color: white;
198
+ }
199
+
200
+ .badge.mojo-task-status-running {
201
+ background-color: var(--bs-success) !important;
202
+ color: white;
203
+ }
204
+
205
+ .badge.mojo-task-status-completed {
206
+ background-color: var(--bs-info) !important;
207
+ color: white;
208
+ }
209
+
210
+ .badge.mojo-task-status-error {
211
+ background-color: var(--bs-danger) !important;
212
+ color: white;
213
+ }
214
+
215
+ /* Action Buttons */
216
+ .mojo-task-management-page .btn-group .btn {
217
+ transition: all 0.2s ease;
218
+ }
219
+
220
+ .mojo-task-management-page .btn-group .btn:hover {
221
+ transform: translateY(-1px);
222
+ }
223
+
224
+ .mojo-task-management-page .btn-sm {
225
+ padding: 0.375rem 0.75rem;
226
+ font-size: 0.875rem;
227
+ border-radius: 0.375rem;
228
+ }
229
+
230
+ /* Loading States */
231
+ .mojo-task-management-page .bi-spin {
232
+ animation: spin 1s linear infinite;
233
+ }
234
+
235
+ @keyframes spin {
236
+ 0% {
237
+ transform: rotate(0deg);
238
+ }
239
+ 100% {
240
+ transform: rotate(360deg);
241
+ }
242
+ }
243
+
244
+ .spinning {
245
+ animation: spin 1s linear infinite;
246
+ }
247
+
248
+ /* Responsive Design */
249
+ @media (max-width: 768px) {
250
+ .mojo-task-stats-header .card-body {
251
+ padding: 1rem;
252
+ }
253
+
254
+ .mojo-task-stats-header h3 {
255
+ font-size: 1.5rem;
256
+ }
257
+
258
+ .task-runners-section .mojo-task-runner-item .row {
259
+ margin: 0;
260
+ }
261
+
262
+ .task-runners-section .mojo-task-runner-item .col-md-8,
263
+ .task-runners-section .mojo-task-runner-item .col-md-4 {
264
+ padding-left: 0;
265
+ padding-right: 0;
266
+ }
267
+
268
+ .task-runners-section .mojo-task-runner-channels small {
269
+ font-size: 0.75rem;
270
+ }
271
+
272
+ .mojo-task-management-page .btn-group {
273
+ flex-direction: column;
274
+ width: 100%;
275
+ }
276
+
277
+ .mojo-task-management-page .btn-group .btn {
278
+ margin-bottom: 0.25rem;
279
+ }
280
+ }
281
+
282
+ @media (max-width: 576px) {
283
+ .mojo-task-management-container {
284
+ padding: 0.5rem;
285
+ }
286
+
287
+ .mojo-task-stats-header .col-12 {
288
+ margin-bottom: 0.5rem !important;
289
+ }
290
+
291
+ .mojo-task-charts-section .col-xl-6 {
292
+ margin-bottom: 1rem !important;
293
+ }
294
+
295
+ .mojo-task-management-page .tab-view .nav-link {
296
+ padding: 0.5rem 1rem;
297
+ margin-right: 0.25rem;
298
+ font-size: 0.875rem;
299
+ }
300
+
301
+ .task-runners-section .mojo-task-runner-item {
302
+ padding: 1rem !important;
303
+ }
304
+
305
+ .task-runners-section .mojo-task-runner-name {
306
+ font-size: 0.9rem;
307
+ }
308
+
309
+ .task-runners-section .mojo-task-runner-channels small {
310
+ font-size: 0.7rem;
311
+ display: block;
312
+ margin-top: 0.25rem;
313
+ }
314
+ }
315
+
316
+ /* === Admin Dashboard General Styles === */
317
+
318
+ .admin-dashboard-page,
319
+ .admin-page {
320
+ background-color: var(--bs-gray-50);
321
+ min-height: 100vh;
322
+ }
323
+
324
+ /*.admin-dashboard-container,
325
+ .admin-container {
326
+ padding: 2rem;
327
+ max-width: 100%;
328
+ }*/
329
+
330
+ /* Admin Cards */
331
+ .admin-page .card {
332
+ border: 1px solid var(--bs-border-color);
333
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
334
+ transition: all 0.2s ease-in-out;
335
+ }
336
+
337
+ .admin-page .card:hover {
338
+ box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
339
+ }
340
+
341
+ .admin-page .card-header {
342
+ background-color: white;
343
+ border-bottom: 1px solid var(--bs-border-color);
344
+ padding: 1rem 1.5rem;
345
+ }
346
+
347
+ .admin-page .card-body {
348
+ padding: 1.5rem;
349
+ }
350
+
351
+ /* Admin Header Styles */
352
+ .admin-page h1,
353
+ .admin-page .h3 {
354
+ color: var(--bs-dark);
355
+ font-weight: 600;
356
+ }
357
+
358
+ .admin-page .text-muted {
359
+ color: var(--bs-gray-600) !important;
360
+ }
361
+
362
+ /* Admin Alerts */
363
+ .admin-page .alert {
364
+ border: none;
365
+ border-radius: 0.5rem;
366
+ padding: 1rem 1.5rem;
367
+ }
368
+
369
+ .admin-page .alert-success {
370
+ background-color: rgba(25, 135, 84, 0.1);
371
+ color: var(--bs-success-text-emphasis);
372
+ }
373
+
374
+ .admin-page .alert-info {
375
+ background-color: rgba(13, 202, 240, 0.1);
376
+ color: var(--bs-info-text-emphasis);
377
+ }
378
+
379
+ .admin-page .alert-warning {
380
+ background-color: rgba(255, 193, 7, 0.1);
381
+ color: var(--bs-warning-text-emphasis);
382
+ }
383
+
384
+ .admin-page .alert-danger {
385
+ background-color: rgba(220, 53, 69, 0.1);
386
+ color: var(--bs-danger-text-emphasis);
387
+ }
388
+
389
+ /* Admin Utilities */
390
+ .admin-page .text-truncate {
391
+ max-width: 200px;
392
+ }
393
+
394
+ .admin-page .small-text {
395
+ font-size: 0.875rem;
396
+ }
397
+
398
+ .admin-page .micro-text {
399
+ font-size: 0.75rem;
400
+ }
401
+
402
+ /* Admin Navigation */
403
+ .admin-page .breadcrumb {
404
+ background-color: transparent;
405
+ padding: 0;
406
+ margin-bottom: 1rem;
407
+ }
408
+
409
+ .admin-page .breadcrumb-item + .breadcrumb-item::before {
410
+ color: var(--bs-gray-500);
411
+ }
412
+
413
+ .admin-page .breadcrumb-item a {
414
+ color: var(--bs-primary);
415
+ text-decoration: none;
416
+ }
417
+
418
+ .admin-page .breadcrumb-item a:hover {
419
+ text-decoration: underline;
420
+ }
421
+
422
+ /* === Modal Styles === */
423
+
424
+ /* Task Details Modal */
425
+ .mojo-task-details-modal .modal-dialog {
426
+ max-width: 800px;
427
+ }
428
+
429
+ .mojo-task-details-modal .fw-mono {
430
+ font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
431
+ font-size: 0.9rem;
432
+ }
433
+
434
+ .mojo-task-details-modal .log-entry {
435
+ border-left: 3px solid var(--bs-gray-300);
436
+ transition: all 0.2s ease;
437
+ }
438
+
439
+ .mojo-task-details-modal .log-entry:hover {
440
+ border-left-color: var(--bs-primary);
441
+ background-color: var(--bs-gray-50) !important;
442
+ }
443
+
444
+ .mojo-task-details-modal pre code {
445
+ font-size: 0.85rem;
446
+ line-height: 1.4;
447
+ }
448
+
449
+ .mojo-task-details-modal .badge {
450
+ font-weight: 500;
451
+ }
452
+
453
+ /* Runner Details Modal */
454
+ .mojo-runner-details-modal .modal-dialog {
455
+ max-width: 1200px;
456
+ }
457
+
458
+ .mojo-runner-details-modal .performance-metric {
459
+ transition: all 0.3s ease;
460
+ }
461
+
462
+ .mojo-runner-details-modal .performance-metric:hover {
463
+ transform: translateY(-2px);
464
+ box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
465
+ }
466
+
467
+ .runner-detailsPrint Styles */
468
+ /* === Task and Runner Details Views === */
469
+
470
+ .mojo-task-details-view,
471
+ .mojo-runner-details-view {
472
+ max-height: 70vh;
473
+ overflow-y: auto;
474
+ }
475
+
476
+ .mojo-task-details-view .card,
477
+ .mojo-runner-details-view .card {
478
+ border: 1px solid var(--bs-border-color);
479
+ }
480
+
481
+ .mojo-task-details-view .card-header,
482
+ .mojo-runner-details-view .card-header {
483
+ background-color: var(--bs-gray-50);
484
+ font-weight: 500;
485
+ }
486
+
487
+ .mojo-task-details-view .log-entry,
488
+ .mojo-runner-details-view .log-entry {
489
+ transition: background-color 0.2s ease;
490
+ }
491
+
492
+ .mojo-task-details-view .log-entry:hover,
493
+ .mojo-runner-details-view .log-entry:hover {
494
+ background-color: var(--bs-gray-50) !important;
495
+ }
496
+
497
+ .mojo-task-details-view .progress,
498
+ .mojo-runner-details-view .progress {
499
+ border-radius: 10px;
500
+ overflow: hidden;
501
+ }
502
+
503
+ .mojo-task-details-view .progress-bar,
504
+ .mojo-runner-details-view .progress-bar {
505
+ transition: width 0.3s ease;
506
+ }
507
+
508
+ /* Log level badges */
509
+ .mojo-task-details-view .badge,
510
+ .mojo-runner-details-view .badge {
511
+ font-weight: 500;
512
+ }
513
+
514
+ /* Code blocks in task details */
515
+ .mojo-task-details-view pre {
516
+ font-size: 0.875rem;
517
+ line-height: 1.4;
518
+ border: 1px solid var(--bs-border-color);
519
+ }
520
+
521
+ .mojo-task-details-view pre code,
522
+ .mojo-runner-details-view pre code {
523
+ color: var(--bs-gray-800);
524
+ }
525
+
526
+ /* Resource usage bars */
527
+ .mojo-runner-details-view .progress {
528
+ background-color: var(--bs-gray-200);
529
+ }
530
+
531
+ .mojo-runner-details-view .progress-bar {
532
+ font-size: 0.875rem;
533
+ font-weight: 500;
534
+ }
535
+
536
+ /* Tables in modals */
537
+ .mojo-task-details-view .table,
538
+ .mojo-runner-details-view .table {
539
+ font-size: 0.875rem;
540
+ }
541
+
542
+ .mojo-task-details-view .table th,
543
+ .mojo-runner-details-view .table th {
544
+ font-weight: 600;
545
+ color: var(--bs-gray-700);
546
+ font-size: 0.8rem;
547
+ text-transform: uppercase;
548
+ letter-spacing: 0.5px;
549
+ }
550
+
551
+ .mojo-task-details-view .table td,
552
+ .mojo-runner-details-view .table td {
553
+ vertical-align: middle;
554
+ }
555
+
556
+ /* Button groups in tables */
557
+ .mojo-task-details-view .btn-group-sm .btn,
558
+ .mojo-runner-details-view .btn-group-sm .btn {
559
+ padding: 0.25rem 0.5rem;
560
+ font-size: 0.8rem;
561
+ }
562
+
563
+ /* Filter buttons */
564
+ .mojo-runner-details-view .btn-group .btn.active {
565
+ background-color: var(--bs-primary);
566
+ border-color: var(--bs-primary);
567
+ color: white;
568
+ }
569
+
570
+ /* Scrollable containers */
571
+ .mojo-task-logs-container,
572
+ .mojo-runner-logs-container {
573
+ border: 1px solid var(--bs-border-color);
574
+ border-radius: 0.375rem;
575
+ }
576
+
577
+ .mojo-task-logs-container::-webkit-scrollbar,
578
+ .mojo-runner-logs-container::-webkit-scrollbar {
579
+ width: 6px;
580
+ }
581
+
582
+ .mojo-task-logs-container::-webkit-scrollbar-track,
583
+ .mojo-runner-logs-container::-webkit-scrollbar-track {
584
+ background: var(--bs-gray-100);
585
+ border-radius: 3px;
586
+ }
587
+
588
+ .mojo-task-logs-container::-webkit-scrollbar-thumb,
589
+ .mojo-runner-logs-container::-webkit-scrollbar-thumb {
590
+ background: var(--bs-gray-400);
591
+ border-radius: 3px;
592
+ }
593
+
594
+ .mojo-task-logs-container::-webkit-scrollbar-thumb:hover,
595
+ .mojo-runner-logs-container::-webkit-scrollbar-thumb:hover {
596
+ background: var(--bs-gray-500);
597
+ }
598
+
599
+ /* Print Styles */
600
+ @media print {
601
+ .admin-page .btn,
602
+ .admin-page .dropdown,
603
+ .admin-page .card-header .btn-group {
604
+ display: none !important;
605
+ }
606
+
607
+ .admin-page .card {
608
+ border: 1px solid #000 !important;
609
+ box-shadow: none !important;
610
+ }
611
+
612
+ .admin-page {
613
+ background-color: white !important;
614
+ }
615
+
616
+ .mojo-task-details-view,
617
+ .mojo-runner-details-view {
618
+ max-height: none;
619
+ overflow: visible;
620
+ }
621
+ }