@bull-board/ui 8.0.2 → 8.1.1

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 (49) hide show
  1. package/dist/index.ejs +3 -3
  2. package/dist/static/css/async/{415.4819ba8dc3.css → 415.9647eb502f.css} +1 -1
  3. package/dist/static/css/async/581.eb4f1f3bab.css +1 -0
  4. package/dist/static/css/async/632.c19d052062.css +1 -0
  5. package/dist/static/css/async/{648.4819ba8dc3.css → 648.9647eb502f.css} +1 -1
  6. package/dist/static/css/async/{718.4819ba8dc3.css → 718.9647eb502f.css} +1 -1
  7. package/dist/static/css/async/977.32499dd5cd.css +1 -0
  8. package/dist/static/css/main.8f3c90886a.css +1 -0
  9. package/dist/static/js/551.ae4d7e5817.js +808 -0
  10. package/dist/static/js/async/{384.8909864bc5.js → 384.7870964db0.js} +1 -1
  11. package/dist/static/js/async/415.bd31b53981.js +1 -0
  12. package/dist/static/js/async/581.51493329d5.js +1 -0
  13. package/dist/static/js/async/632.f93baffd1f.js +1 -0
  14. package/dist/static/js/async/648.00dbf6f52f.js +1 -0
  15. package/dist/static/js/async/718.9170e50e3c.js +1 -0
  16. package/dist/static/js/async/837.4c3f1cb195.js +1 -0
  17. package/dist/static/js/async/855.815bdcc177.js +1 -0
  18. package/dist/static/js/async/857.2f502488e8.js +1 -0
  19. package/dist/static/js/async/926.e8ee99d884.js +1 -0
  20. package/dist/static/js/async/977.a73d81226f.js +1 -0
  21. package/dist/static/js/main.e0387b32ce.js +9 -0
  22. package/dist/static/locales/da-DK/messages.json +41 -4
  23. package/dist/static/locales/de-DE/messages.json +43 -4
  24. package/dist/static/locales/en-GB/messages.json +43 -6
  25. package/dist/static/locales/en-US/messages.json +40 -3
  26. package/dist/static/locales/es-ES/messages.json +40 -3
  27. package/dist/static/locales/fr-FR/messages.json +40 -3
  28. package/dist/static/locales/ja-JP/messages.json +40 -3
  29. package/dist/static/locales/ko-KR/messages.json +40 -3
  30. package/dist/static/locales/pt-BR/messages.json +41 -4
  31. package/dist/static/locales/tr-TR/messages.json +42 -5
  32. package/dist/static/locales/zh-CN/messages.json +40 -3
  33. package/package.json +13 -3
  34. package/typings/app.d.ts +2 -2
  35. package/dist/static/css/async/469.7c9792a422.css +0 -1
  36. package/dist/static/css/async/977.ef96eca507.css +0 -1
  37. package/dist/static/css/main.c7776e1753.css +0 -1
  38. package/dist/static/js/906.01e54249a2.js +0 -808
  39. package/dist/static/js/async/415.3e5a2b2e0a.js +0 -1
  40. package/dist/static/js/async/469.0d0c4c7d60.js +0 -1
  41. package/dist/static/js/async/648.b066483072.js +0 -1
  42. package/dist/static/js/async/718.50b0df6ca4.js +0 -1
  43. package/dist/static/js/async/832.9eaee4b202.js +0 -1
  44. package/dist/static/js/async/837.f5f4cf1102.js +0 -1
  45. package/dist/static/js/async/857.99229283ec.js +0 -1
  46. package/dist/static/js/async/926.0fbac7e274.js +0 -1
  47. package/dist/static/js/async/977.aac3ea9649.js +0 -1
  48. package/dist/static/js/main.29fafd22b5.js +0 -9
  49. /package/dist/static/js/{906.01e54249a2.js.LICENSE.txt → 551.ae4d7e5817.js.LICENSE.txt} +0 -0
@@ -23,6 +23,11 @@
23
23
  "ACTIVE": "Trabalhos ativos",
24
24
  "COMPLETED": "Trabalhos concluídos",
25
25
  "ALPHABETICAL": "Alfabético (A-Z)"
26
+ },
27
+ "VIEW": {
28
+ "TITLE": "Exibir",
29
+ "FLAT": "Plano",
30
+ "GROUPED": "Agrupado"
26
31
  }
27
32
  },
28
33
  "JOB": {
@@ -101,8 +106,13 @@
101
106
  "OBLITERATE_QUEUE": "Tem certeza de que deseja obliterar esta fila?\n\nIsso removerá completamente a fila e todas as suas chaves Redis.\nA fila deve ser pausada primeiro.",
102
107
  "RESUME_QUEUE": "Deseja realmente retomar o processamento da fila?",
103
108
  "PAUSE_ALL": "Tem certeza de que deseja pausar todas as filas?",
104
- "RESUME_ALL": "Tem certeza de que deseja retomar todas as filas?"
105
- }
109
+ "RESUME_ALL": "Tem certeza de que deseja retomar todas as filas?",
110
+ "PAUSE_GROUP": "Tem certeza de que deseja pausar todas as {{count}} filas neste grupo?",
111
+ "RESUME_GROUP": "Tem certeza de que deseja retomar todas as {{count}} filas neste grupo?"
112
+ },
113
+ "PAUSE_GROUP": "Pausar todas as filas do grupo",
114
+ "RESUME_GROUP": "Retomar todas as filas do grupo",
115
+ "GROUP_ACTIONS": "Ações do grupo"
106
116
  },
107
117
  "STATUS": {
108
118
  "LATEST": "Mais recente",
@@ -114,6 +124,26 @@
114
124
  "FAILED": "Erro",
115
125
  "DELAYED": "Atrasado",
116
126
  "PAUSED": "Pausado"
127
+ },
128
+ "INFO": {
129
+ "TITLE": "Informações da fila",
130
+ "OVERVIEW": "Visão geral",
131
+ "NAME": "Nome",
132
+ "DISPLAY_NAME": "Nome de exibição",
133
+ "TYPE": "Tipo",
134
+ "STATE": "Estado",
135
+ "RUNNING": "Em execução",
136
+ "PAUSED": "Em pausa",
137
+ "READ_ONLY": "Somente leitura",
138
+ "RETRIES": "Tentativas permitidas",
139
+ "GLOBAL_CONCURRENCY": "Concorrência global",
140
+ "DELIMITER": "Delimitador de grupo",
141
+ "TOTAL_JOBS": "Total de trabalhos",
142
+ "DEFAULTS": "Opções padrão de trabalho",
143
+ "DESCRIPTION": "Descrição",
144
+ "NOT_SET": "Não definido",
145
+ "YES": "Sim",
146
+ "NO": "Não"
117
147
  }
118
148
  },
119
149
  "METRICS": {
@@ -157,7 +187,7 @@
157
187
  "LANGUAGE": "Idioma",
158
188
  "POLLING_INTERVAL": "Intervalo de tentativas",
159
189
  "POLLING_OPTIONS": {
160
- "OFF": "Off",
190
+ "OFF": "Desligado",
161
191
  "SECS": "{{count}} segundos",
162
192
  "MINS": "{{count}} minutos",
163
193
  "MINS_one": "{{count}} minuto",
@@ -176,7 +206,14 @@
176
206
  "COLLAPSE_JOB_ERROR": "Recolher erros da tarefa",
177
207
  "DEFAULT_COLLAPSE_DEPTH": "Default JSON collapse depth (0-10)",
178
208
  "SORT_QUEUES": "Sort queues (A-Z, groups first)",
179
- "DARK_MODE": "Modo escuro"
209
+ "DARK_MODE": "Modo escuro",
210
+ "SECTIONS": {
211
+ "GENERAL": "General",
212
+ "QUEUES": "Queues",
213
+ "JOBS": "Jobs"
214
+ },
215
+ "GROUP_QUEUES": "Agrupar filas por categoria",
216
+ "GROUP_QUEUES_HELP": "Divida a visão geral em seções recolhíveis a partir do delimitador nos nomes das filas, o mesmo agrupamento que a barra lateral usa."
180
217
  },
181
218
  "CONCURRENCY": {
182
219
  "TITLE": "Concorrência global",
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "DASHBOARD": {
12
12
  "JOBS_COUNT_one": "{{count}} İş",
13
- "JOBS_COUNT_other": "{{count}} Job",
13
+ "JOBS_COUNT_other": "{{count}} İş",
14
14
  "JOBS_COUNT": "{{count}} İş",
15
15
  "EMPTY_STATE": "No queues to display.",
16
16
  "EMPTY_STATE_FILTERED": "No queues have {{status}} jobs.",
@@ -22,6 +22,11 @@
22
22
  "ACTIVE": "Aktif İşler",
23
23
  "COMPLETED": "Tamamlanan İşler",
24
24
  "ALPHABETICAL": "Alfabetik (A-Z)"
25
+ },
26
+ "VIEW": {
27
+ "TITLE": "Görünüm",
28
+ "FLAT": "Düz",
29
+ "GROUPED": "Gruplandırılmış"
25
30
  }
26
31
  },
27
32
  "JOB": {
@@ -100,8 +105,13 @@
100
105
  "OBLITERATE_QUEUE": "Bu kuyruğu tamamen silmek istediğinizden emin misiniz?\n\nBu işlem kuyruğu ve tüm Redis anahtarlarını tamamen kaldıracaktır.\nKuyruk önce durdurulmalıdır.",
101
106
  "RESUME_QUEUE": "Kuyruk işlemini devam ettirmek istediğinizden emin misiniz?",
102
107
  "PAUSE_ALL": "Tüm kuyrukları durdurmak istediğinizden emin misiniz?",
103
- "RESUME_ALL": "Tüm kuyrukları devam ettirmek istediğinizden emin misiniz?"
104
- }
108
+ "RESUME_ALL": "Tüm kuyrukları devam ettirmek istediğinizden emin misiniz?",
109
+ "PAUSE_GROUP": "Bu gruptaki {{count}} kuyruğun tümünü durdurmak istediğinizden emin misiniz?",
110
+ "RESUME_GROUP": "Bu gruptaki {{count}} kuyruğun tümünü devam ettirmek istediğinizden emin misiniz?"
111
+ },
112
+ "PAUSE_GROUP": "Gruptaki tüm kuyrukları durdur",
113
+ "RESUME_GROUP": "Gruptaki tüm kuyrukları devam ettir",
114
+ "GROUP_ACTIONS": "Grup işlemleri"
105
115
  },
106
116
  "STATUS": {
107
117
  "LATEST": "En yeni",
@@ -113,6 +123,26 @@
113
123
  "FAILED": "Başarısız",
114
124
  "DELAYED": "Gecikmiş",
115
125
  "PAUSED": "Durduruldu"
126
+ },
127
+ "INFO": {
128
+ "TITLE": "Kuyruk bilgisi",
129
+ "OVERVIEW": "Genel bakış",
130
+ "NAME": "Ad",
131
+ "DISPLAY_NAME": "Görünen ad",
132
+ "TYPE": "Tür",
133
+ "STATE": "Durum",
134
+ "RUNNING": "Çalışıyor",
135
+ "PAUSED": "Durduruldu",
136
+ "READ_ONLY": "Salt okunur",
137
+ "RETRIES": "Yeniden denemelere izin verilir",
138
+ "GLOBAL_CONCURRENCY": "Genel eşzamanlılık",
139
+ "DELIMITER": "Grup ayırıcı",
140
+ "TOTAL_JOBS": "Toplam iş sayısı",
141
+ "DEFAULTS": "Varsayılan iş seçenekleri",
142
+ "DESCRIPTION": "Açıklama",
143
+ "NOT_SET": "Ayarlanmamış",
144
+ "YES": "Evet",
145
+ "NO": "Hayır"
116
146
  }
117
147
  },
118
148
  "METRICS": {
@@ -160,7 +190,7 @@
160
190
  "SECS": "{{count}} saniye",
161
191
  "MINS": "{{count}} dakika",
162
192
  "MINS_one": "{{count}} dakika",
163
- "MINS_other": "{{count}} minute"
193
+ "MINS_other": "{{count}} dakika"
164
194
  },
165
195
  "DEFAULT_JOB_TAB": "Varsayılan iş sekmesi",
166
196
  "JOBS_PER_PAGE": "Sayfa başına iş (1-50)",
@@ -174,7 +204,14 @@
174
204
  "COLLAPSE_JOB_ERROR": "İş hatasını daralt",
175
205
  "DEFAULT_COLLAPSE_DEPTH": "Default JSON collapse depth (0-10)",
176
206
  "SORT_QUEUES": "Sort queues (A-Z, groups first)",
177
- "DARK_MODE": "Karanlık mod"
207
+ "DARK_MODE": "Karanlık mod",
208
+ "SECTIONS": {
209
+ "GENERAL": "General",
210
+ "QUEUES": "Queues",
211
+ "JOBS": "Jobs"
212
+ },
213
+ "GROUP_QUEUES": "Kuyrukları kategoriye göre grupla",
214
+ "GROUP_QUEUES_HELP": "Kuyruk adlarındaki ayırıcıya göre genel bakışı daraltılabilir bölümlere ayırın, kenar çubuğunun kullandığı gruplama ile aynıdır."
178
215
  },
179
216
  "CONCURRENCY": {
180
217
  "TITLE": "Genel eşzamanlılık",
@@ -20,6 +20,11 @@
20
20
  "ACTIVE": "活动中的任务",
21
21
  "COMPLETED": "已完成的任务",
22
22
  "ALPHABETICAL": "字母顺序 (A-Z)"
23
+ },
24
+ "VIEW": {
25
+ "TITLE": "视图",
26
+ "FLAT": "平面",
27
+ "GROUPED": "分组"
23
28
  }
24
29
  },
25
30
  "JOB": {
@@ -98,8 +103,13 @@
98
103
  "OBLITERATE_QUEUE": "您确定要彻底删除此队列吗?这将完全删除队列及其所有Redis键。队列必须先暂停。",
99
104
  "RESUME_QUEUE": "您确定要恢复队列处理吗?",
100
105
  "PAUSE_ALL": "您确定要暂停所有队列吗?",
101
- "RESUME_ALL": "您确定要恢复所有队列吗?"
102
- }
106
+ "RESUME_ALL": "您确定要恢复所有队列吗?",
107
+ "PAUSE_GROUP": "您确定要暂停此组中的所有{{count}}个队列吗?",
108
+ "RESUME_GROUP": "您确定要恢复此组中的所有{{count}}个队列吗?"
109
+ },
110
+ "PAUSE_GROUP": "暂停组中所有队列",
111
+ "RESUME_GROUP": "恢复组中所有队列",
112
+ "GROUP_ACTIONS": "组操作"
103
113
  },
104
114
  "STATUS": {
105
115
  "LATEST": "最新",
@@ -111,6 +121,26 @@
111
121
  "FAILED": "失败",
112
122
  "DELAYED": "延迟",
113
123
  "PAUSED": "已暂停"
124
+ },
125
+ "INFO": {
126
+ "TITLE": "队列信息",
127
+ "OVERVIEW": "概览",
128
+ "NAME": "名称",
129
+ "DISPLAY_NAME": "显示名称",
130
+ "TYPE": "类型",
131
+ "STATE": "状态",
132
+ "RUNNING": "运行中",
133
+ "PAUSED": "已暂停",
134
+ "READ_ONLY": "只读",
135
+ "RETRIES": "允许重试",
136
+ "GLOBAL_CONCURRENCY": "全局并发数",
137
+ "DELIMITER": "组分隔符",
138
+ "TOTAL_JOBS": "作业总数",
139
+ "DEFAULTS": "默认作业选项",
140
+ "DESCRIPTION": "描述",
141
+ "NOT_SET": "未设置",
142
+ "YES": "是",
143
+ "NO": "否"
114
144
  }
115
145
  },
116
146
  "METRICS": {
@@ -170,7 +200,14 @@
170
200
  "COLLAPSE_JOB_ERROR": "折叠作业错误",
171
201
  "DEFAULT_COLLAPSE_DEPTH": "Default JSON collapse depth (0-10)",
172
202
  "SORT_QUEUES": "Sort queues (A-Z, groups first)",
173
- "DARK_MODE": "黑暗模式"
203
+ "DARK_MODE": "黑暗模式",
204
+ "SECTIONS": {
205
+ "GENERAL": "General",
206
+ "QUEUES": "Queues",
207
+ "JOBS": "Jobs"
208
+ },
209
+ "GROUP_QUEUES": "按类别分组队列",
210
+ "GROUP_QUEUES_HELP": "根据队列名称中的分隔符将概览拆分为可折叠的区块,与侧边栏使用的分组方式相同。"
174
211
  },
175
212
  "CONCURRENCY": {
176
213
  "TITLE": "全局并发",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bull-board/ui",
3
- "version": "8.0.2",
3
+ "version": "8.1.1",
4
4
  "description": "A Dashboard UI built on top of bull or bullmq.",
5
5
  "keywords": [
6
6
  "bull",
@@ -29,13 +29,14 @@
29
29
  "build": "rsbuild build",
30
30
  "build:analyze": "RSDOCTOR=true rsbuild build",
31
31
  "clean": "rm -rf dist",
32
- "sync:locales": "npx i18next-locales-sync -c ./localesSync.config.js",
32
+ "test": "jest",
33
+ "sync:locales": "i18next-locales-sync -c ./localesSync.config.js",
33
34
  "gen:jsonSchema": "npm run gen:jsonSchema:bullmq && npm run gen:jsonSchema:bull",
34
35
  "gen:jsonSchema:bullmq": "npx ts-json-schema-generator --path '../../node_modules/bullmq/dist/esm/interfaces/**/*.ts' --type 'JobsOptions' --out './src/schemas/bullmq/jobOptions.json'",
35
36
  "gen:jsonSchema:bull": "npx ts-json-schema-generator --path '../../node_modules/bull/*.ts' --type 'Bull.JobOptions' --out './src/schemas/bull/jobOptions.json'"
36
37
  },
37
38
  "dependencies": {
38
- "@bull-board/api": "8.0.2"
39
+ "@bull-board/api": "8.1.1"
39
40
  },
40
41
  "devDependencies": {
41
42
  "@base-ui/react": "^1.6.0",
@@ -51,6 +52,11 @@
51
52
  "@rsbuild/plugin-react": "^2.1.0",
52
53
  "@rsbuild/plugin-type-check": "^1.5.0",
53
54
  "@rsdoctor/rspack-plugin": "^1.5.17",
55
+ "@tanstack/react-query": "^5.101.2",
56
+ "@testing-library/dom": "^10",
57
+ "@testing-library/react": "^16",
58
+ "@types/identity-obj-proxy": "^3",
59
+ "@types/jest": "^30",
54
60
  "@types/react": "^19.2.17",
55
61
  "@types/react-dom": "^19.2.3",
56
62
  "@types/react-paginate": "^7.1.4",
@@ -65,6 +71,9 @@
65
71
  "i18next-hmr": "^3.2.0",
66
72
  "i18next-http-backend": "^3.0.6",
67
73
  "i18next-locales-sync": "^2.1.1",
74
+ "identity-obj-proxy": "^3",
75
+ "jest": "^30",
76
+ "jest-environment-jsdom": "^30",
68
77
  "nanoid": "^5.1.16",
69
78
  "pretty-bytes": "^7.1.0",
70
79
  "react": "^19.2.7",
@@ -75,6 +84,7 @@
75
84
  "react-router-dom": "^5.3.4",
76
85
  "react-toastify": "^11.1.0",
77
86
  "recharts": "^3.9.1",
87
+ "ts-jest": "^29",
78
88
  "zustand": "4.5.7"
79
89
  }
80
90
  }
package/typings/app.d.ts CHANGED
@@ -18,10 +18,11 @@ export interface QueueActions {
18
18
  cleanAll: (queueName: string, status: JobCleanStatus) => () => Promise<void>;
19
19
  pauseQueue: (queueName: string) => () => Promise<void>;
20
20
  resumeQueue: (queueName: string) => () => Promise<void>;
21
+ pauseQueues: (queueNames: string[]) => () => Promise<void>;
22
+ resumeQueues: (queueNames: string[]) => () => Promise<void>;
21
23
  emptyQueue: (queueName: string) => () => Promise<void>;
22
24
  obliterateQueue: (queueName: string) => () => Promise<void>;
23
25
  updateQueues: () => Promise<void>;
24
- pollQueues: () => void;
25
26
  addJob: (
26
27
  queueName: string,
27
28
  jobName: string,
@@ -42,5 +43,4 @@ export interface JobActions {
42
43
  ) => () => Promise<void>;
43
44
  getJobLogs: (queueName: string) => (job: AppJob) => () => Promise<string[]>;
44
45
  getJob: () => Promise<any>;
45
- pollJob: () => void;
46
46
  }
@@ -1 +0,0 @@
1
- .dropdown-N5QNV_{background:var(--dropdown-bg);box-shadow:var(--dropdown-shadow);border:1px solid var(--dropdown-border-color);z-index:100;border-radius:.285714rem;min-width:150px;padding:.25rem 0;font-size:.875rem;line-height:1.25rem}.item-Uubn_V{color:inherit;white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;display:flex}.item-Uubn_V:hover{background:var(--button-default-hover-bg)}.item-Uubn_V>svg{width:1.1em;height:1.1em;fill:var(--button-icon-fill);flex-shrink:0}.subTrigger-G3bGtN{width:100%;font:inherit;color:inherit;background:0 0;border:none}.subTrigger-G3bGtN[data-popup-open]{background:var(--button-default-hover-bg)}.subTrigger-G3bGtN:focus-visible,.subTrigger-G3bGtN:focus,.subItem-_q8kr3:focus-visible,.subItem-_q8kr3:focus{outline:none}.subItem-_q8kr3>svg{width:.75em;height:.75em}.card-xqyZlH{background-color:var(--card-bg);box-shadow:var(--card-shadow);border-radius:.25rem;min-width:0;padding:1em;display:flex}.trigger-GNtOnV{justify-self:flex-end;margin-bottom:.25em;padding:.5em .65em}.danger-GDAQpl{color:var(--failed)!important}.danger-GDAQpl>svg{fill:currentColor!important}@media (max-width:768px){.trigger-GNtOnV{min-width:42px;min-height:42px;margin-bottom:0}}.stats-rA0n5N{white-space:nowrap;align-items:center;gap:1rem;display:flex}.progressBar-kqLFX9{background-color:var(--separator-color);color:#fff;text-align:center;z-index:1;border-radius:9999px;width:100%;height:1rem;font-size:.75rem;line-height:1;display:flex;overflow:hidden}.progressBar-kqLFX9>.bar-aiypOU{min-width:min-content;padding:.125rem;text-decoration:none;transition:width .3s ease-in,opacity .2s ease-in-out}.progressBar-kqLFX9>.bar-aiypOU,.progressBar-kqLFX9>.bar-aiypOU:visited,.progressBar-kqLFX9>.bar-aiypOU:active{color:inherit}.progressBar-kqLFX9>.bar-aiypOU:hover{opacity:.75}.progressBar-kqLFX9>.bar-aiypOU+.bar-aiypOU{border-left:2px solid var(--card-bg)}.waiting-q0vfA9{background-color:var(--waiting)}.waitingChildren-S11OYM{background-color:var(--waiting-children)}.prioritized-jTAxmN{background-color:var(--prioritized)}.completed-Bjjsoj{background-color:var(--completed)}.failed-L8BZmZ{background-color:var(--failed)}.active-Aj24DJ{background-color:var(--active)}.delayed-huK85t{background-color:var(--delayed)}.paused-xuACK2{background-color:var(--paused)}.queueCard-YHG6yO{flex-direction:column;gap:.5rem;min-width:0;transition:background-color .15s ease-in;position:relative}.queueCard-YHG6yO:hover{background-color:var(--card-bg-hover)}.header-gQ6Axi{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.headerContext-fhRYcv{z-index:2;justify-content:space-between;align-items:center;gap:.15rem;display:flex}.headerContext-fhRYcv .pausedBadge-lWdTOt{margin-bottom:.25rem}.link-xZr7yB{color:inherit;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-decoration:none;display:block;overflow:hidden}.link-xZr7yB:after{content:"";z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.pausedBadge-lWdTOt{color:#828e97;white-space:nowrap;flex-shrink:0;font-size:.75rem}.statusBar-a5jlNu{border-bottom:2px solid var(--status-menu-border-color);align-items:center;margin-bottom:.75rem;display:flex;position:relative}.statusTabs-hBbuDg{scrollbar-width:none;flex-wrap:nowrap;flex:1;min-width:0;margin:0;padding:0 .5rem;list-style:none;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 2rem calc(100% - 2rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 2rem calc(100% - 2rem),#0000)}.tabsWrapper-fF1t9Y{flex:1;min-width:0}.statusTabs-hBbuDg::-webkit-scrollbar{display:none}.statusTabs-hBbuDg>li{align-items:center;display:flex}.statusTabs-hBbuDg>li>a{color:var(--status-menu-text);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:.4em;margin:0 0 -2px;padding:.5em .75em;font-size:.9rem;text-decoration:none;transition:background-color .1s,border-bottom-color .2s ease-in-out,color .1s;display:flex}.statusTabs-hBbuDg>li>a:hover,.statusTabs-hBbuDg>li>a:active{border-color:var(--status-menu-hover-text);background-color:var(--button-default-hover-bg)}.statusTabs-hBbuDg>li>a.isActive-C2L583{border-color:var(--status-menu-active-border);color:var(--status-menu-active-text);background-color:color-mix(in srgb, var(--status-menu-active-border) 8%, transparent);font-weight:500}.statusTabs-hBbuDg>li>a>span{white-space:nowrap}.statusTabs-hBbuDg>li>a>span[data-text]:before{content:attr(data-text);visibility:hidden;height:0;font-weight:600;display:block;overflow:hidden}.dot-N_ddYO{background-color:var(--dot-color);border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem}.badge-megf05{background-color:var(--badge-bg);color:var(--badge-text-color);text-align:center;border-radius:500rem;padding:.2em .6em;font-size:.75rem;font-weight:400;line-height:1em;display:inline-block}.trailing-FZwfmt{flex-shrink:0;margin-left:auto;padding-left:.5rem}.waiting-RxEe57{--dot-color:var(--waiting)}.waitingChildren-dnj_C6{--dot-color:var(--waiting-children)}.prioritized-G0QP5n{--dot-color:var(--prioritized)}.active-t_bCgg{--dot-color:var(--active)}.failed-UAbaoZ{--dot-color:var(--failed)}.completed-kcKLT0{--dot-color:var(--completed)}.delayed-OgFXqU{--dot-color:var(--delayed)}.paused-aQsd6J{--dot-color:var(--paused)}@media (max-width:768px){.statusTabs-hBbuDg>li>a{padding:.5em .6em;font-size:.8rem}}.stickyHeader-Woc0cg{top:var(--header-height);z-index:2;background-color:var(--body-bg);margin:0 calc(var(--body-padding) * -1);padding:0 var(--body-padding);position:sticky}.actionContainer-gipYSV{justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.actionContainer-gipYSV:empty{display:none}@media (max-width:768px){.actionContainer-gipYSV{flex-direction:column;align-items:stretch;gap:.5rem}}.overview-zcxjH0{grid-gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0;padding:0;list-style:none;display:grid}.message-FeVnqw{white-space:pre-line;margin-top:2rem;line-height:1.5rem}.message-FeVnqw a{color:var(--accent-color);text-decoration:none}.message-FeVnqw a:hover{color:var(--accent-color-d1)}.emptyState-GPHV7C{text-align:center;color:var(--accent-color);margin-top:3rem;font-size:.9rem}@media (max-width:768px){.overview-zcxjH0{grid-template-columns:minmax(0,1fr)}}
@@ -1 +0,0 @@
1
- .field-JbAWJt>label{font-size:.875rem;line-height:1.25rem;display:block}.field-JbAWJt+.field-JbAWJt{margin-top:1rem}.field-JbAWJt>input,.field-JbAWJt>select{width:100%;display:block;margin-top:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important}.field-JbAWJt.inline-vXG0Za{align-items:center;gap:.5rem;display:flex}.switch-DOdNhn{border:1px solid var(--input-border);-webkit-tap-highlight-color:#0000;cursor:pointer;background-color:#0000;border-radius:9999px;width:42px;height:25px;transition:border-color .2s ease-out,box-shadow .2s ease-out;position:relative;box-shadow:0 1px 2px #0000000d}.switch-DOdNhn[data-checked]{background-color:var(--button-default-hover-bg)}.switch-DOdNhn:hover .thumb-tvm2sT{background-color:#909bad}.switch-DOdNhn:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.thumb-tvm2sT{background-color:var(--accent-color-d1);will-change:transform;border-radius:9999px;width:21px;height:21px;transition:transform .1s;display:block;position:relative;top:1px;transform:translate(2px)}.thumb-tvm2sT[data-checked]{transform:translate(18px)}
@@ -1 +0,0 @@
1
- .button-_OwfoN{cursor:pointer;white-space:nowrap;color:inherit;vertical-align:baseline;text-transform:none;min-height:1em;text-shadow:none;background:0 0;border:none;border-radius:.285714rem;outline:none;padding:.65em .928571em;font-family:inherit;font-size:.9rem;font-weight:400;transition:background-color .15s ease-in-out;display:inline-block}.compact-lNzuyE{padding:.65em}.button-_OwfoN+.button-_OwfoN{margin-inline-start:.5rem}.button-_OwfoN.default-RX9iQN>svg{vertical-align:middle;width:1.25em;height:1.25em;fill:var(--button-icon-fill);display:inline-block}.button-_OwfoN.default-RX9iQN:hover,.button-_OwfoN.default-RX9iQN:focus{background-color:var(--button-default-hover-bg)}.button-_OwfoN.default-RX9iQN:active,.button-_OwfoN.default-RX9iQN.isActive-YRKOr3{background-color:var(--button-default-active-bg)}.button-_OwfoN.default-RX9iQN:hover>svg,.button-_OwfoN.default-RX9iQN:focus>svg{fill:var(--button-icon-fill)}.button-_OwfoN.basic-JStFeT{color:var(--button-basic-color);box-shadow:var(--button-basic-box-shadow)}.button-_OwfoN.basic-JStFeT:focus{background:var(--button-basic-focus-bg);color:var(--button-basic-focus-color);box-shadow:var(--button-basic-focus-box-shadow)}.button-_OwfoN.basic-JStFeT:hover{background:var(--button-default-hover-bg);color:var(--button-basic-focus-color);box-shadow:var(--button-basic-box-shadow)}.button-_OwfoN.basic-JStFeT:active{background:var(--button-basic-active-bg);color:var(--button-basic-active-color);box-shadow:var(--button-basic-active-box-shadow)}.button-_OwfoN.primary-BOdHls{background-color:var(--button-primary-bg);color:var(--button-primary-color)}.button-_OwfoN.primary-BOdHls:hover,.button-_OwfoN.primary-BOdHls:focus{background-color:var(--button-primary-hover-bg)}.button-_OwfoN.primary-BOdHls:active{background-color:var(--button-primary-active-bg)}@keyframes fadeIn-x_BHvZ{0%{opacity:0}to{opacity:1}}@keyframes fadeOut-Iksjn0{0%{opacity:1}to{opacity:0}}@keyframes slideUp-hvFvMD{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown-m0eicZ{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}.overlay-Oc9X8l[data-open]{animation:.15s ease-out fadeIn-x_BHvZ}.overlay-Oc9X8l[data-closed]{animation:.15s ease-in fadeOut-Iksjn0}.content-r7AO42[data-open],.contentWrapper-LDyZUz[data-open]{animation:.15s ease-out slideUp-hvFvMD}.content-r7AO42[data-closed],.contentWrapper-LDyZUz[data-closed]{animation:.15s ease-in slideDown-m0eicZ}.overlay-Oc9X8l{text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;will-change:opacity;z-index:1000;background-color:#000000d9;width:100%;height:100%;padding:1em;position:fixed;top:0!important;left:0!important}.contentWrapper-LDyZUz{z-index:1100;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0!important;left:0!important}.content-r7AO42{background-color:var(--card-bg);width:100%;box-shadow:var(--card-shadow);border-radius:.5rem;flex-direction:column;max-height:100%;padding:1rem;display:flex}.content-r7AO42.wide-FvqBMf{max-width:min(100%,850px)}.content-r7AO42.medium-tryiH8{max-width:min(100%,650px)}.content-r7AO42.small-hsjGGL{max-width:min(100%,550px)}.actions-zULM0J{background:var(--modal-actions-bg);text-align:right;border-radius:0 0 .5rem .5rem;margin:1rem -1rem -1rem;padding:1rem}.description-ZXMou7{margin:0;padding:1rem .5rem;overflow:auto}.content-NU_w6Y{max-width:450px}.description-JZx5tW{white-space:pre-wrap}.content-ECXbDF{background:var(--dropdown-bg);box-shadow:var(--dropdown-shadow);border:1px solid var(--dropdown-border-color);z-index:100;border-radius:.285714rem;min-width:150px;max-height:50svh;padding-top:.25rem;padding-bottom:.25rem;font-size:.875rem;font-weight:400;line-height:1.25rem;overflow-y:auto}.content-ECXbDF>[role=menuitem]{color:inherit;white-space:nowrap;cursor:pointer;padding:.5rem 1rem;font-weight:400;text-decoration:none;display:block}.content-ECXbDF>[role=menuitem]>svg{float:none;vertical-align:middle;width:1.18em;height:1em;fill:var(--button-icon-fill);margin-right:.5rem}.content-ECXbDF>[role=menuitem]:hover{color:inherit;background:var(--button-default-hover-bg)}.content-I7Stzc{width:var(--anchor-width,100%)}.container-VRLL14{position:relative}.trigger-OWDKKr{text-align:left;white-space:nowrap;text-overflow:ellipsis;outline:none;flex:1;width:100%;font-weight:500;display:flex;overflow:hidden}.separator-JWmkmR{background:var(--dropdown-border-color);height:1px;margin:.25rem 0}.item-ZXhl7W{align-items:center;display:flex!important}.item-ZXhl7W.active-jDxe19{background-color:var(--button-default-active-bg);font-weight:500}.queueName-oRtU4Y{white-space:nowrap;text-overflow:ellipsis;max-width:80%;display:inline-block;overflow:hidden}.queueStats-oVezGL{background:var(--badge-bg);color:var(--badge-text-color);border-radius:9999px;flex-shrink:0;margin-left:auto;padding:.225rem .375rem;font-size:.75rem;line-height:1em}.header-dfryKG{z-index:99;background:var(--header-bg);width:100%;height:var(--header-height);box-sizing:border-box;border-bottom:1px solid #0000;transition:box-shadow .5s ease-in-out;display:flex;position:fixed;top:0;left:0}.logo-DC8O1O{width:var(--menu-width);flex-basis:var(--menu-width);white-space:nowrap;text-align:start;height:inherit;font-size:1.44rem;line-height:var(--header-height);color:#f5f8fa;z-index:2;background-color:#303a4b;flex-shrink:0;align-items:center;padding:0 1rem;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 2px 5px #0000001a}.logo-DC8O1O>span{text-overflow:ellipsis;overflow:hidden}.logo-DC8O1O>.img-ggCynO{width:auto;max-height:100%;margin-right:.4em}.logo-DC8O1O>.img-ggCynO.default-jGNV3P{width:1.2em;margin-bottom:.2em}.content-TUwoSi{padding:0 var(--body-padding);flex:1;justify-content:space-between;align-items:center;display:flex;overflow:hidden}.header-dfryKG~main{padding-top:var(--header-height)}.envBadge-pauziY{top:0;left:calc(var(--menu-width) + 1rem);font-size:var(--badge-font-size,.75rem);text-align:center;background-color:var(--badge-bg);color:var(--badge-color);-webkit-user-select:none;user-select:none;border-radius:0 0 .25rem .25rem;padding:.25em .5rem;line-height:1;position:absolute;right:1rem}@media (max-width:768px){.header-dfryKG{flex-wrap:wrap;overflow:hidden}.logo-DC8O1O{width:auto;height:auto;line-height:inherit;background-color:#0000;border:none;flex-basis:auto;padding:.5rem}.mobileQueueSelector-f1Dqzo{flex:1 0 100%;width:100%;padding:.5rem;display:block}.content-TUwoSi{flex-shrink:0;gap:.25rem;padding:0 .5rem}.envBadge-pauziY{left:50%;right:auto;transform:translate(-50%)}}.actions-xXF1YD{margin:0;padding:0;list-style:none;display:flex}.actions-xXF1YD li+li{margin-inline-start:.5rem}.button-vbAEsE{justify-content:center;align-items:center;padding:.65rem;font-size:1rem;display:inline-flex}.button-vbAEsE>svg{width:1.5rem}@media (max-width:768px){.actions-xXF1YD{flex-shrink:0}.actions-xXF1YD li+li{margin-inline-start:.125rem}.button-vbAEsE{min-width:32px;min-height:32px;padding:.3rem;font-size:.75rem}.button-vbAEsE>svg{width:1rem}}.loader-_0mP07{color:var(--accent-color);justify-content:center;align-items:center;gap:.4rem;padding:3rem;font-size:.9rem;display:flex}.dots-A9dHQP{gap:.25rem;display:flex}.dots-A9dHQP>span{background-color:var(--accent-color);border-radius:50%;width:.35rem;height:.35rem;animation:1.2s ease-in-out infinite pulse-ctn2Nu}.dots-A9dHQP>span:nth-child(2){animation-delay:.15s}.dots-A9dHQP>span:nth-child(3){animation-delay:.3s}@keyframes pulse-ctn2Nu{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.menu-zMsDO4{--level:1;margin:0;padding:0;list-style:none}.menu-zMsDO4>li+li{border-top:1px solid #3a4145}.menu-zMsDO4 a{color:inherit;border-left:3px solid #0000;align-items:baseline;gap:.4em;padding:.5rem 1rem;font-size:.9rem;text-decoration:none;transition:background-color .1s ease-in;display:flex;overflow:hidden}.menu-zMsDO4 a:hover{background-color:#ffffff0d;border-left-color:#3d5a5c}.menu-zMsDO4 a.active-hKGR_B{background-color:#ffffff1a;border-left-color:#4abec7}.menu-zMsDO4 .queueName-bMwHQB{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.menu-zMsDO4 .level-NflMrL>li>a,.menu-zMsDO4 .level-NflMrL>li>.groupHeader-xqJfvs{padding-left:calc(1.75rem * var(--level,0))}.groupHeader-xqJfvs{color:#828e97;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.4em;width:100%;padding:.5rem 1rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background-color .1s ease-in;display:flex}.groupHeader-xqJfvs:hover{background-color:#ffffff0d}.groupName-lzm_YI{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.groupCount-UR4Hp5{text-transform:none;letter-spacing:0;opacity:.6;white-space:nowrap;flex-shrink:0;margin-left:auto;padding-left:.5em;font-size:.7rem;font-weight:400}.groupPausedCount-mWr0MH{color:var(--paused)}.chevron-hsnmPj{fill:currentColor;flex-shrink:0;width:.7em;height:.7em;transition:transform .15s;transform:rotate(-90deg)}.chevronOpen-C6_QrR{transform:rotate(0)}.isPaused-x9j9ry{color:#828e97;white-space:nowrap;flex-shrink:0;font-size:.8em}.aside-tRszgh{z-index:99;top:var(--header-height);width:var(--menu-width);color:#d5d9dc;background:linear-gradient(#28303e,#202732 80%,#181d25);flex-direction:column;padding-top:.5rem;display:flex;position:fixed;bottom:0;left:0;box-shadow:4px 0 8px 3px #262e3c1a}.aside-tRszgh+main{padding-left:var(--menu-width)}.menuHeader-VvfhS9{justify-content:space-between;align-items:center;padding:0 1rem .35rem;display:flex}.secondary-zYLEzr{color:#828e97;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.toggleActions-G_HUS9{gap:.15rem;display:flex}.toggleBtn-noqNKp{color:#828e97;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.15rem .4rem;font-size:.85rem;line-height:1;transition:background-color .1s,color .1s}.toggleBtn-noqNKp:hover:not(:disabled){color:#d5d9dc;background-color:#ffffff1a}.toggleBtn-noqNKp:disabled{opacity:.3;cursor:default}.expandIcon-Zcoy_V{fill:currentColor;width:.7rem;height:.7rem;display:block}.collapseIcon-WWl3Nq{fill:currentColor;width:.7rem;height:.7rem;display:block;transform:rotate(180deg)}.navWrapper-uwfhfB{flex:1;min-height:0;padding:1rem 0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 1rem calc(100% - 1rem),#0000 100%);mask-image:linear-gradient(#0000 0%,#000 1rem calc(100% - 1rem),#0000 100%)}.appVersion-WxhBrg{color:#828e97;justify-content:center;align-items:center;gap:.4rem;padding:.4rem 1rem;font-size:.75rem;text-decoration:none;transition:color .15s;display:flex}.appVersion-WxhBrg:hover{color:#d5d9dc}.githubIcon-E8PA4T{width:.8rem;height:.8rem}.searchWrapper-RKimTO{color:#f5f8fa;padding:0 .75rem .75rem;position:relative}.searchWrapper-RKimTO svg{pointer-events:none;stroke-width:2px;color:#828e97;width:.875rem;height:.875rem;position:absolute;top:.625rem;left:1.5rem}.search-JnyuJg.search-JnyuJg{color:#f5f8fa;background-color:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;width:100%;height:2rem;padding:0 .75rem 0 1.75rem;font-family:inherit;font-size:.8rem;line-height:2rem;transition:border-color .12s ease-in-out;box-shadow:none!important}.search-JnyuJg.search-JnyuJg:focus-visible,.search-JnyuJg.search-JnyuJg:focus,.search-JnyuJg.search-JnyuJg:active{border-color:#4abec7;outline:0}.queueTitle-_L6Q8r{color:var(--accent-color-d1);overflow:hidden}.name-sqRel5{font-size:1.2rem;font-weight:400}.description-m3M8Yd{opacity:.85;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;font-weight:200;overflow:hidden}:root{--header-height:80px;--menu-width:260px;--failed:#f87171;--completed:#22c55e;--waiting:#e3a008;--waiting-children:#fb923c;--prioritized:#d946ef;--active:#3b82f6;--delayed:#8b5cf6;--paused:#a8a29e;--body-bg:#f5f8fa;--body-padding:2rem;--text-color:#454b52;--accent-color:#a0aec0;--accent-color-d1:#718096;--text-secondary-color:#cbd5e0;--separator-color:#e2e8f0;--card-padding:1rem;--card-bg:#fff;--card-shadow:0 1px 1px 0 #3c4b6424, 0 2px 1px -1px #3c4b641f, 0 1px 3px 0 #3c4b6433;--card-text-color:var(--accent-color);--card-text-secondary-color:#a9b8cc;--card-bg-hover:#f5f7fa;--badge-bg:var(--text-secondary-color);--badge-text-color:var(--text-color);--button-basic-active-bg:#f8f8f8;--button-basic-active-box-shadow:0 0 0 1px #00000026 inset, 0 1px 4px 0 #22242626 inset;--button-basic-active-color:#000000e6;--button-basic-box-shadow:0 0 0 1px #16182626 inset;--button-basic-color:#0009;--button-basic-focus-bg:#fff;--button-basic-focus-box-shadow:0 0 0 1px #16182659 inset, 0 0 0 0 #16182626 inset;--button-basic-focus-color:#000c;--button-default-active-bg:var(--text-secondary-color);--button-default-hover-bg:var(--separator-color);--button-icon-fill:var(--accent-color-d1);--button-primary-active-bg:#3d454f;--button-primary-hover-bg:#67727e;--button-primary-bg:#4b5563;--button-primary-color:#fff;--details-error-color:#d73a49;--details-scrollbar-thumb-bg:var(--text-secondary-color);--details-scrollbar-track-bg:#fff3;--details-warn-color:orange;--header-bg:var(--card-bg);--input-bg:var(--card-bg);--input-border:#d1d5db;--input-focus-border:#a4afb8;--input-focus-shadow:0 1px 3px #cdd6db;--job-logs-bg:var(--card-bg);--job-logs-marker-color:var(--card-text-secondary-color);--job-logs-scrollbar-thumb-bg:var(--text-secondary-color);--job-logs-scrollbar-track-bg:#fff3;--job-logs-toolbar-bg:#ffffffd9;--modal-actions-bg:#f9fafb;--modal-content-bg:var(--card-bg);--modal-overlay-bg:#000000d9;--status-menu-active-border:#1b1c1d;--status-menu-border-color:#e0e7eb;--status-menu-text:var(--text-color);--status-menu-active-text:#000000de;--status-menu-hover-text:var(--text-secondary-color);--sticky-header-bg:#f5f8fad9;--tooltip-bg:#2d3748f2;--tooltip-text-color:#fff;--dropdown-bg:var(--card-bg);--dropdown-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--dropdown-border-color:#22242626;--json-edit-gutter-bg:#f5f5f5;--json-edit-gutter-border-color:#ddd;--json-edit-gutter-active-bg:#dedede;--json-edit-cursor-color:#2d3748f2;--json-edit-selection-bg:var(--text-secondary-color);--json-edit-tooltip-bg:#f5f5f5;--json-edit-tooltip-border-color:#bbb;--hl-string:#d14;--hl-number:teal;--hl-type:#458;--hl-keyword:#990073;--hl-built_in:#0086b3;--hl-attribute:navy;--hl-meta:#999}.dark-mode{--failed:#bf4040;--completed:#2d864d;--waiting:#bf932b;--waiting-children:#dd955a;--prioritized:#c366d1;--active:#5b8ad7;--delayed:#9374dc;--paused:#a8a29f;--body-bg:#181d25;--text-color:#c4cad4;--text-secondary-color:#4a5568;--accent-color:#7c8a9e;--accent-color-d1:#b6bdc9;--card-bg:#29303d;--card-shadow:0 0 0 1px #46546d33 inset;--card-text-color:var(--accent-color-d1);--card-text-secondary-color:var(--accent-color);--card-bg-hover:#313949;--separator-color:#4b5563;--badge-bg:var(--text-secondary-color);--badge-text-color:var(--card-text-color);--button-basic-active-bg:#2d3748;--button-basic-active-box-shadow:0 0 0 1px #fff3 inset, 0 1px 4px 0 #00000026 inset;--button-basic-active-color:#fff;--button-basic-box-shadow:0 0 0 1px #fff3 inset;--button-basic-color:#ffffffb3;--button-basic-focus-bg:#2d3748;--button-basic-focus-box-shadow:0 0 0 1px #fff6 inset, 0 0 0 0 #fff3 inset;--button-basic-focus-color:#ffffffe6;--button-default-active-bg:var(--text-secondary-color);--button-default-hover-bg:#3a4556;--button-icon-fill:var(--card-text-secondary-color);--button-primary-active-bg:#4b5563;--button-primary-bg:#505a65;--button-primary-color:#cfcfcf;--button-primary-hover-bg:#3b4758;--details-error-color:#f56565;--details-scrollbar-thumb-bg:var(--text-secondary-color);--details-scrollbar-track-bg:#ffffff1a;--details-warn-color:#ed8936;--header-bg:#28303e;--input-bg:#3a4556;--input-border:#454e5a;--input-focus-border:#647182;--input-focus-shadow:none;--job-logs-bg:var(--card-bg);--job-logs-marker-color:var(--accent-color-d1);--job-logs-scrollbar-thumb-bg:var(--accent-color);--job-logs-scrollbar-track-bg:transparent;--job-logs-toolbar-bg:#29303df2;--modal-actions-bg:#ffffff05;--status-menu-border-color:var(--separator-color);--status-menu-text:var(--card-text-secondary-color);--status-menu-hover-text:var(--text-secondary-color);--status-menu-active-text:var(--text-color);--status-menu-active-border:var(--accent-color);--sticky-header-bg:#181d24e6;--tooltip-bg:#4c5667f2;--tooltip-text-color:var(--text-color);--dropdown-bg:var(--card-bg);--dropdown-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--dropdown-border-color:#303746;--json-edit-gutter-bg:#47546b;--json-edit-gutter-border-color:transparent;--json-edit-gutter-active-bg:var(--input-bg);--json-edit-cursor-color:var(--accent-color-d1);--json-edit-selection-bg:var(--accent-color);--json-edit-tooltip-bg:var(--tooltip-bg);--json-edit-tooltip-border-color:var(--input-focus-border);--hl-string:#ff6088;--hl-number:#0aa;--hl-type:#9fb0da;--hl-keyword:#f294da;--hl-built_in:#0086b3;--hl-attribute:navy;--hl-meta:#999}@media (max-width:768px){:root{--header-height:108px;--body-padding:1rem;--card-padding:.75rem;--menu-width:0px}}body{background:var(--body-bg);color:var(--text-color);margin:0;font-family:Ubuntu,sans-serif;font-size:16px;font-weight:400;line-height:1.25em}html,body{height:100%}*{box-sizing:border-box}#root{height:inherit}small{opacity:.85;font-size:.833em}main{min-height:100%}main>div{padding:var(--body-padding)}@media (max-width:768px){html,body{overflow-x:hidden}}button{font-family:inherit}h1,h2,h3,h4,h5,h6{font-weight:500}h1,h2,h3,h4,h5,h6,article,li{margin:0;line-height:1.5em}[multiple],input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,.select,textarea{appearance:none;background-color:var(--input-bg);border:1px var(--input-border) solid;font-family:inherit;font-size:1rem;line-height:1.5rem;font-weight:inherit;color:var(--text-color);border-radius:.375rem;margin:0;padding:.5rem .75rem;transition:border-color .2s ease-out,box-shadow .2s ease-out;box-shadow:0 1px 2px #0000000d}select,.select{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggc3Ryb2tlPSIjNmI3MjgwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41IiBkPSJNNiA4bDQgNCA0LTQiLz48L3N2Zz4);background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}input[type=date]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,.select:focus,textarea:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}.hljs{white-space:pre-wrap;word-break:break-all;padding:.5em;display:block}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{font-weight:500}.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:var(--hl-number)}.hljs-doctag,.hljs-string{color:var(--hl-string)}.hljs-section,.hljs-selector-id,.hljs-title{color:#d73a49;font-weight:500}.hljs-class .hljs-title,.hljs-type,.hljs-attr{color:var(--hl-type);font-weight:500}.hljs-attribute,.hljs-name,.hljs-tag{color:var(--hl-attribute);font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-keyword,.hljs-bullet,.hljs-symbol{color:var(--hl-keyword)}.hljs-built_in,.hljs-builtin-name{color:var(--hl-built_in)}.hljs-meta{color:var(--hl-meta);font-weight:500}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:500}.hljs-trace-line{color:#aaa}.hljs-trace-line .hljs-code-path{color:var(--text-color)}.hljs-punctuation{color:var(--accent-color-d1)}.Toastify__toast-container{z-index:9999;box-sizing:border-box;color:#fff;width:320px;padding:4px;position:fixed;-webkit-transform:translateZ(9999px)}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;margin:0;padding:0;left:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0;transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0;transform:translate(0)}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{box-sizing:border-box;cursor:pointer;direction:ltr;border-radius:4px;justify-content:space-between;min-height:64px;max-height:800px;margin-bottom:1rem;padding:8px;font-family:sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--dark{color:#fff;background:#121212}.Toastify__toast--default{color:#aaa;background:#fff}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#07bc0c}.Toastify__toast--warning{background:#f1c40f}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;padding:6px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;outline:none;align-self:flex-start;padding:0;transition:all .3s}.Toastify__close-button--default{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{z-index:9999;opacity:.7;transform-origin:0;background-color:#ffffffb3;width:100%;height:5px;position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%}.Toastify__progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.Toastify__progress-bar--dark{background:#bb86fc}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate(-20px)}to{opacity:0;transform:translate(2000px)}}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}