loadtoagent 1.1.0 → 1.3.2

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 (86) hide show
  1. package/README.ko.md +14 -5
  2. package/README.md +7 -0
  3. package/README.zh-CN.md +7 -0
  4. package/docs/PROVIDER-CONTRACTS.md +25 -1
  5. package/docs/UI-AUDIT-100.md +118 -0
  6. package/docs/UI-AUDIT-101-200.md +120 -0
  7. package/docs/UI-AUDIT-201-300.md +120 -0
  8. package/main.js +157 -38
  9. package/package.json +13 -4
  10. package/preload.js +13 -2
  11. package/renderer/app-agent-actions.js +125 -53
  12. package/renderer/app-bootstrap.js +54 -19
  13. package/renderer/app-dashboard.js +196 -55
  14. package/renderer/app-drawer-content.js +48 -44
  15. package/renderer/app-drawer-data.js +26 -13
  16. package/renderer/app-drawer.js +72 -54
  17. package/renderer/app-events-dialogs.js +146 -37
  18. package/renderer/app-events-filters.js +172 -13
  19. package/renderer/app-events-navigation.js +77 -30
  20. package/renderer/app-events-sessions.js +156 -9
  21. package/renderer/app-events.js +2 -1
  22. package/renderer/app-graph-model.js +20 -38
  23. package/renderer/app-graph-orchestration.js +15 -13
  24. package/renderer/app-graph-view.js +228 -113
  25. package/renderer/app-management.js +257 -0
  26. package/renderer/app-provider-visibility.js +124 -0
  27. package/renderer/app-quality.js +568 -0
  28. package/renderer/app-run-modal.js +104 -34
  29. package/renderer/app-runtime-overview.js +312 -0
  30. package/renderer/app-session-render.js +94 -37
  31. package/renderer/app-tmux-render.js +52 -44
  32. package/renderer/app.js +153 -75
  33. package/renderer/i18n-messages.js +867 -37
  34. package/renderer/i18n.js +104 -0
  35. package/renderer/index.html +154 -67
  36. package/renderer/shared.js +17 -0
  37. package/renderer/styles-agent-map.css +16 -10
  38. package/renderer/styles-cards.css +44 -18
  39. package/renderer/styles-collaboration.css +23 -23
  40. package/renderer/styles-components.css +122 -45
  41. package/renderer/styles-management.css +364 -0
  42. package/renderer/styles-onboarding.css +8 -8
  43. package/renderer/styles-overlays.css +13 -7
  44. package/renderer/styles-product.css +48 -40
  45. package/renderer/styles-quality.css +312 -0
  46. package/renderer/styles-readability.css +1040 -0
  47. package/renderer/styles-responsive-product.css +84 -12
  48. package/renderer/styles-responsive-runtime.css +25 -17
  49. package/renderer/styles-responsive-shell.css +44 -48
  50. package/renderer/styles-responsive-workflows.css +39 -5
  51. package/renderer/styles-run-composer.css +28 -23
  52. package/renderer/styles-runtime-overview.css +285 -0
  53. package/renderer/styles-settings.css +176 -16
  54. package/renderer/styles-terminal.css +374 -37
  55. package/renderer/styles-tmux.css +49 -49
  56. package/renderer/styles-workflow-map.css +362 -15
  57. package/renderer/styles-workflows.css +116 -49
  58. package/renderer/styles.css +34 -19
  59. package/renderer/terminal-agent.js +17 -13
  60. package/renderer/terminal-events.js +253 -37
  61. package/renderer/terminal-workbench.js +208 -89
  62. package/renderer/terminal.js +350 -35
  63. package/src/agentMonitor/claudeParser.js +96 -7
  64. package/src/agentMonitor/codexParser.js +59 -4
  65. package/src/agentMonitor/executionActivity.js +282 -0
  66. package/src/agentMonitor/genericParser.js +56 -13
  67. package/src/agentMonitor/hierarchy.js +17 -0
  68. package/src/agentMonitor/responseIntent.js +51 -0
  69. package/src/agentMonitor.js +21 -3
  70. package/src/agentRunner.js +66 -1
  71. package/src/attentionNotifier.js +14 -10
  72. package/src/automationMonitor.js +258 -0
  73. package/src/contracts.js +10 -1
  74. package/src/ipc/registerAgentIpc.js +9 -3
  75. package/src/ipc/registerAppIpc.js +4 -1
  76. package/src/ipc/registerTerminalIpc.js +12 -14
  77. package/src/macUpdateHelper.js +210 -0
  78. package/src/monitorWorker.js +65 -6
  79. package/src/platformPath.js +80 -0
  80. package/src/processMonitor.js +80 -22
  81. package/src/providerVisibilityStore.js +45 -0
  82. package/src/sessionIntelligence.js +261 -0
  83. package/src/terminalHost.js +453 -0
  84. package/src/terminalHostDaemon.js +61 -0
  85. package/src/terminalManager.js +218 -6
  86. package/src/updateInstaller.js +175 -0
@@ -0,0 +1,364 @@
1
+ /*
2
+ * Agent management
3
+ * ----------------
4
+ * Action inbox, operational health, structured progress, evidence, and outcome surfaces.
5
+ */
6
+
7
+ .advanced-tools-nav {
8
+ margin: 8px 0;
9
+ border: 1px solid var(--line-soft);
10
+ border-radius: 12px;
11
+ background: rgba(10, 15, 24, .54);
12
+ overflow: hidden;
13
+ }
14
+
15
+ .advanced-tools-nav > summary {
16
+ display: grid;
17
+ grid-template-columns: 28px 1fr auto 14px;
18
+ align-items: center;
19
+ gap: 8px;
20
+ min-height: 42px;
21
+ padding: 0 12px;
22
+ color: var(--muted);
23
+ cursor: pointer;
24
+ list-style: none;
25
+ }
26
+
27
+ .advanced-tools-nav > summary::-webkit-details-marker { display: none; }
28
+ .advanced-tools-nav > summary:hover,
29
+ .advanced-tools-nav.active > summary { color: var(--text); background: rgba(89, 216, 255, .06); }
30
+ .advanced-tools-nav > summary b { min-width: 24px; padding: 3px 7px; border-radius: 999px; color: #8ce6ff; background: #152d3a; text-align: center; font-size: 12px; }
31
+ .advanced-tools-nav > summary i { font-style: normal; transition: transform .18s ease; }
32
+ .advanced-tools-nav[open] > summary i { transform: rotate(180deg); }
33
+ .advanced-tools-list { display: grid; gap: 3px; padding: 4px; border-top: 1px solid var(--line-soft); }
34
+ .advanced-tools-list .nav-item { width: 100%; min-height: 38px; padding-left: 10px; }
35
+
36
+ .operations-overview,
37
+ .attention-inbox {
38
+ margin-bottom: 18px;
39
+ border: 1px solid var(--line);
40
+ border-radius: 16px;
41
+ background: #0b121c;
42
+ overflow: hidden;
43
+ }
44
+
45
+ .operations-overview > header,
46
+ .attention-inbox-head {
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: space-between;
50
+ gap: 18px;
51
+ padding: 15px 18px;
52
+ border-bottom: 1px solid var(--line-soft);
53
+ }
54
+
55
+ .operations-heading {
56
+ min-width: 0;
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 12px;
60
+ }
61
+
62
+ .operations-signal {
63
+ width: 36px;
64
+ height: 36px;
65
+ flex: 0 0 36px;
66
+ display: grid;
67
+ place-items: center;
68
+ border: 1px solid rgba(246, 189, 85, .28);
69
+ border-radius: 11px;
70
+ background: rgba(246, 189, 85, .08);
71
+ color: #f3c66f;
72
+ font-size: 15px;
73
+ font-weight: 800;
74
+ }
75
+
76
+ .operations-heading-copy { min-width: 0; }
77
+ .operations-heading-copy p,
78
+ .attention-inbox-head p { margin: 0 0 5px; color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
79
+ .operations-heading-copy p { margin-bottom: 3px; color: #95a8b6; font-size: 12px; letter-spacing: .08em; }
80
+ .operations-heading-copy h2,
81
+ .attention-inbox-head h2 { margin: 0; font-size: clamp(20px, 2vw, 28px); }
82
+ .operations-heading-copy h2 { font-size: 19px; letter-spacing: -.025em; }
83
+ .operations-heading-copy > span,
84
+ .attention-inbox-head span { max-width: 620px; color: var(--muted); line-height: 1.55; }
85
+ .operations-heading-copy > span { display: block; margin-top: 3px; font-size: 12px; }
86
+ .operations-review-total {
87
+ flex: 0 0 auto;
88
+ display: flex;
89
+ align-items: baseline;
90
+ gap: 8px;
91
+ padding: 8px 11px;
92
+ border: 1px solid #2a3a48;
93
+ border-radius: 10px;
94
+ background: #101a26;
95
+ }
96
+ .operations-review-total strong { color: #f4f8fa; font-size: 21px; font-variant-numeric: tabular-nums; line-height: 1; }
97
+ .operations-review-total span { color: #a7b6c2; font-size: 12px; white-space: nowrap; }
98
+ .attention-inbox-head strong { color: var(--text); font-size: 36px; }
99
+
100
+ .operations-metrics {
101
+ display: grid;
102
+ grid-template-columns: repeat(4, 1fr);
103
+ border-bottom: 1px solid var(--line-soft);
104
+ }
105
+
106
+ .operations-metrics > * {
107
+ display: flex;
108
+ align-items: flex-start;
109
+ flex-direction: column;
110
+ justify-content: space-between;
111
+ gap: 6px;
112
+ min-height: 70px;
113
+ padding: 10px 16px;
114
+ border: 0;
115
+ border-right: 1px solid var(--line-soft);
116
+ color: var(--muted);
117
+ background: transparent;
118
+ text-align: left;
119
+ font-size: 12px;
120
+ }
121
+
122
+ .operations-metrics > *:last-child { border-right: 0; }
123
+ .operations-metrics button { cursor: pointer; }
124
+ .operations-metrics button:hover { background: rgba(89, 216, 255, .055); }
125
+ .operations-metrics b { color: var(--text); font-size: 21px; font-variant-numeric: tabular-nums; line-height: 1; }
126
+ .operations-metrics > *:nth-child(1) b { color: #ff8792; }
127
+ .operations-metrics > *:nth-child(2) b { color: #efc96f; }
128
+ .operations-metrics > *:nth-child(3) b { color: #8edff4; }
129
+ .operations-metrics > *:nth-child(4) b { color: #83ddb1; }
130
+ .operations-priority { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 10px; }
131
+ .operations-priority button { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 11px; min-width: 0; padding: 10px 12px; border: 1px solid var(--line-soft); border-radius: 10px; color: var(--text); background: #0c131d; text-align: left; cursor: pointer; }
132
+ .operations-priority button:hover { border-color: #35516a; }
133
+ .operations-priority i { width: 8px; height: 8px; border-radius: 50%; background: #e9b949; box-shadow: 0 0 9px rgba(233, 185, 73, .45); }
134
+ .operations-priority i.critical { background: #ff6b76; box-shadow: 0 0 9px rgba(255, 107, 118, .5); }
135
+ .operations-priority i.warning { background: #e9b949; box-shadow: 0 0 9px rgba(233, 185, 73, .45); }
136
+ .operations-priority i.attention { background: #64cbe5; box-shadow: 0 0 9px rgba(100, 203, 229, .42); }
137
+ .operations-priority i.unknown { background: #aa92dc; box-shadow: 0 0 9px rgba(170, 146, 220, .42); }
138
+ .operations-priority span { min-width: 0; }
139
+ .operations-priority b,
140
+ .operations-priority small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
141
+ .operations-priority b { font-size: 13px; }
142
+ .operations-priority small,
143
+ .operations-priority em { color: #a6b4c0; font-size: 12px; font-style: normal; }
144
+ .operations-priority small { margin-top: 2px; }
145
+ .operations-more { display: flex; justify-content: flex-end; padding: 0 10px 10px; }
146
+ .operations-more button { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid #2d4659; border-radius: 9px; color: #b9d9e4; background: #0d1923; font-size: 12px; font-weight: 750; cursor: pointer; }
147
+ .operations-more button:hover { border-color: #4cabc3; color: #effcff; }
148
+ .operations-more button b { color: #6dd6ee; }
149
+ .operations-more button i { font-style: normal; }
150
+ .operations-clear { margin: 0; padding: 13px 18px; color: #8edab7; font-size: 12px; }
151
+
152
+ .attention-inbox-summary { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; padding: 12px 20px; border-bottom: 1px solid var(--line-soft); }
153
+ .management-filter-all,
154
+ .management-filter-group { display: flex; align-items: center; gap: 6px; }
155
+ .management-filter-all { align-self: flex-end; }
156
+ .management-filter-group { position: relative; flex-wrap: wrap; padding: 21px 7px 7px; border: 1px solid rgba(125, 151, 170, .16); border-radius: 13px; background: rgba(12, 20, 30, .44); }
157
+ .management-filter-group > small { position: absolute; top: 5px; left: 11px; color: #8394a2; font-size: 12px; font-weight: 750; letter-spacing: .04em; }
158
+ .attention-inbox-summary button { min-height: 44px; display: inline-flex; gap: 7px; align-items: center; padding: 7px 12px; border: 1px solid var(--line-soft); border-radius: 999px; color: var(--muted); background: #0c141e; font-size: 12px; cursor: pointer; }
159
+ .attention-inbox-summary button:hover { border-color: #3c596b; color: #e2ebf0; }
160
+ .attention-inbox-summary button[aria-pressed="true"] { border-color: #4cabc3; color: #e8f8fb; background: #122935; box-shadow: inset 0 0 0 1px rgba(89,216,255,.12); }
161
+ .attention-inbox-summary button b { color: currentColor; font-variant-numeric: tabular-nums; }
162
+ .attention-inbox-summary i { width: 6px; height: 6px; border-radius: 50%; background: #e9b949; }
163
+ .attention-inbox-summary [data-management-inbox-filter="critical"] i { background: #ff6b76; }
164
+ .attention-inbox-summary [data-management-inbox-filter="warning"] i { background: #e9b949; }
165
+ .attention-inbox-summary [data-management-inbox-filter="attention"] i { background: #64cbe5; }
166
+ .attention-inbox-summary [data-management-inbox-filter="unknown"] i { background: #aa92dc; }
167
+ .attention-inbox-summary [data-management-inbox-filter="all"] i { background: #9dabb6; }
168
+ .attention-card-list { display: grid; gap: 12px; padding: 16px; }
169
+ .attention-card { position: relative; display: grid; gap: 13px; padding: 18px; border: 1px solid var(--line); border-left: 3px solid var(--management-provider, #e9b949); border-radius: 16px; background: #0b121d; }
170
+ .attention-card > header { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; }
171
+ .attention-card > header h3 { margin: 3px 0 0; font-size: 17px; }
172
+ .attention-card > header small { color: var(--management-provider, var(--cyan)); }
173
+ .confidence { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; font-style: normal; white-space: nowrap; }
174
+ .confidence.high { color: #82ddb0; border-color: rgba(76, 227, 154, .3); }
175
+ .attention-reason { display: grid; grid-template-columns: 110px 1fr auto; gap: 12px; align-items: start; padding: 12px 14px; border-radius: 11px; background: rgba(233, 185, 73, .07); }
176
+ .attention-reason span { color: #e9b949; font-size: 12px; font-weight: 800; }
177
+ .attention-reason p { margin: 0; color: #e7edf6; line-height: 1.55; }
178
+ .attention-reason small { color: var(--muted); }
179
+ .management-quick-actions,
180
+ .management-control-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
181
+ .management-quick-actions button,
182
+ .management-control-buttons button { min-height: 34px; padding: 0 12px; border: 1px solid #2a3a4c; border-radius: 9px; color: #c9d5e4; background: #111a27; }
183
+ .management-quick-actions button:hover,
184
+ .management-control-buttons button:hover { border-color: var(--cyan); color: #fff; }
185
+ .management-quick-actions .approve { color: #72dfaa; border-color: rgba(76, 227, 154, .35); background: rgba(76, 227, 154, .08); }
186
+ .management-control-buttons .danger { color: #ff9ba3; border-color: rgba(255, 107, 118, .3); }
187
+
188
+ .management-progress,
189
+ .management-health,
190
+ .management-artifacts,
191
+ .management-checks,
192
+ .management-evidence,
193
+ .management-controls,
194
+ .management-attention-detail,
195
+ .management-outcome { border: 1px solid var(--line-soft); border-radius: 14px; background: rgba(9, 15, 24, .72); overflow: hidden; }
196
+ .management-progress > header,
197
+ .management-health > header,
198
+ .management-artifacts > header,
199
+ .management-checks > header,
200
+ .management-evidence > header,
201
+ .management-controls > header { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border-bottom: 1px solid var(--line-soft); }
202
+ .management-progress > header span,
203
+ .management-health > header span,
204
+ .management-artifacts > header span,
205
+ .management-checks > header span,
206
+ .management-evidence > header span,
207
+ .management-controls > header span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
208
+ .management-progress > header b,
209
+ .management-health > header b,
210
+ .management-artifacts > header b,
211
+ .management-checks > header b,
212
+ .management-evidence > header b,
213
+ .management-controls > header b { margin-left: auto; color: #cbd6e3; font-size: 12px; }
214
+ .management-progress > header strong,
215
+ .management-health > header strong { min-width: 40px; color: var(--green); font-variant-numeric: tabular-nums; text-align: right; }
216
+ .management-progress-track { height: 5px; margin: 12px 13px 0; border-radius: 999px; background: #182333; overflow: hidden; }
217
+ .management-progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cyan), var(--green)); }
218
+ .management-progress > p { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 10px 13px 12px; }
219
+ .management-progress > p b { font-size: 12px; }
220
+ .management-progress > p span { color: var(--muted); font-size: 12px; }
221
+ .management-progress > aside { margin: 0 13px 12px; padding: 9px 11px; border-radius: 9px; color: #f0cc75; background: rgba(233, 185, 73, .08); }
222
+ .management-progress > aside span { display: block; margin-bottom: 3px; font-size: 12px; }
223
+ .management-checkpoints,
224
+ .management-health ul,
225
+ .management-artifacts ul,
226
+ .management-checks ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
227
+ .management-checkpoints li,
228
+ .management-health li,
229
+ .management-artifacts li,
230
+ .management-checks li { display: flex; align-items: center; gap: 10px; padding: 10px 13px; border-top: 1px solid var(--line-soft); }
231
+ .management-checkpoints i,
232
+ .management-health li i,
233
+ .management-checks li i { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #728197; }
234
+ .management-checkpoints li.completed i,
235
+ .management-checks li.passed i { background: var(--green); }
236
+ .management-checkpoints li.failed i,
237
+ .management-health li.critical i,
238
+ .management-checks li.failed i { background: #ff6b76; }
239
+ .management-checkpoints li.running i,
240
+ .management-health li.warning i { background: #e9b949; }
241
+ .management-checkpoints div { min-width: 0; flex: 1; }
242
+ .management-checkpoints b,
243
+ .management-checkpoints small { display: block; }
244
+ .management-checkpoints small,
245
+ .management-checkpoints li > span,
246
+ .management-health li span,
247
+ .management-artifacts li span,
248
+ .management-checks li span { margin-left: auto; color: var(--muted); font-size: 12px; }
249
+ .management-health > p,
250
+ .management-artifacts > p,
251
+ .management-checks > p { margin: 0; padding: 13px; color: var(--muted); }
252
+ .management-health.critical > header strong { color: #ff7d87; }
253
+ .management-health.warning > header strong { color: #e9b949; }
254
+ .management-health.healthy > header strong { color: var(--green); }
255
+
256
+ .management-detail {
257
+ container: management-detail / inline-size;
258
+ display: grid;
259
+ gap: 12px;
260
+ }
261
+ .management-detail .management-health li {
262
+ display: grid;
263
+ grid-template-columns: 7px minmax(148px, max-content) minmax(0, 1fr);
264
+ align-items: start;
265
+ }
266
+ .management-detail .management-health li > i { margin-top: .4em; }
267
+ .management-detail .management-health li > b {
268
+ min-width: 0;
269
+ font-size: 13px;
270
+ line-height: 1.45;
271
+ }
272
+ .management-detail .management-health li > span {
273
+ min-width: 0;
274
+ line-height: 1.45;
275
+ overflow-wrap: anywhere;
276
+ }
277
+ .management-outcome { padding: 16px; border-color: #2b3a4d; }
278
+ .management-outcome > header { display: flex; justify-content: space-between; gap: 16px; }
279
+ .management-outcome h3 { margin: 4px 0 0; font-size: 20px; }
280
+ .management-outcome header span { color: var(--green); font-size: 12px; font-weight: 800; }
281
+ .management-outcome em { align-self: start; padding: 5px 8px; border-radius: 999px; color: #f0c56d; background: rgba(233, 185, 73, .09); font-size: 12px; font-style: normal; }
282
+ .management-outcome em.verified { color: #74dca8; background: rgba(76, 227, 154, .09); }
283
+ .management-outcome > p { margin: 14px 0 0; color: #d8e2ee; line-height: 1.65; white-space: pre-wrap; }
284
+ .management-attention-detail { padding: 14px; border-color: rgba(233, 185, 73, .25); }
285
+ .management-attention-detail > header span { display: block; margin-bottom: 5px; color: #e9b949; font-size: 12px; }
286
+ .management-attention-detail > header b { line-height: 1.5; }
287
+ .management-attention-detail .management-quick-actions { margin-top: 12px; }
288
+ .management-attention-detail .agent-command-panel { margin-top: 12px; }
289
+ .management-artifacts li i { min-width: 50px; padding: 3px 6px; border-radius: 6px; color: #7ddaf1; background: #142330; font-size: 12px; font-style: normal; text-align: center; text-transform: uppercase; }
290
+ .management-artifacts li {
291
+ display: grid;
292
+ grid-template-columns: auto minmax(0, 1fr) auto;
293
+ }
294
+ .management-artifacts li b {
295
+ min-width: 0;
296
+ overflow: hidden;
297
+ color: #e5ebf3;
298
+ font-size: 13px;
299
+ font-weight: 650;
300
+ line-height: 1.45;
301
+ text-overflow: ellipsis;
302
+ white-space: nowrap;
303
+ }
304
+ .management-evidence dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
305
+ .management-evidence dl div { padding: 11px 13px; border-right: 1px solid var(--line-soft); }
306
+ .management-evidence dl div:last-child { border-right: 0; }
307
+ .management-evidence dt { color: var(--muted); font-size: 12px; }
308
+ .management-evidence dd { margin: 4px 0 0; color: #dce6f1; font-size: 12px; }
309
+ .management-evidence > p { margin: 0; padding: 10px 13px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 12px; }
310
+ .management-controls .management-control-buttons { padding: 12px; }
311
+ .management-empty { display: grid; gap: 5px; padding: 34px; color: var(--muted); text-align: center; }
312
+ .management-empty b { color: var(--text); font-size: 18px; }
313
+
314
+ .session-card > .management-progress,
315
+ .session-card > .management-health { margin-top: 10px; }
316
+ .session-card > .management-health ul { display: flex; flex-wrap: wrap; padding: 8px 10px; }
317
+ .session-card > .management-health li { padding: 4px 7px; border: 0; }
318
+ .session-card > .management-health li span { display: none; }
319
+
320
+ .global-stat.critical strong { color: #ff7d87; }
321
+ .global-stat.warning strong { color: #e9b949; }
322
+
323
+ @container management-detail (max-width: 600px) {
324
+ .management-detail .management-health li {
325
+ grid-template-columns: 7px minmax(0, 1fr);
326
+ column-gap: 10px;
327
+ row-gap: 2px;
328
+ }
329
+ .management-detail .management-health li > b,
330
+ .management-detail .management-health li > span { grid-column: 2; }
331
+ .management-detail .management-health li > span {
332
+ display: -webkit-box;
333
+ margin-left: 0;
334
+ overflow: hidden;
335
+ -webkit-box-orient: vertical;
336
+ -webkit-line-clamp: 2;
337
+ }
338
+ }
339
+
340
+ @media (max-width: 980px) {
341
+ .operations-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
342
+ .operations-metrics > * { min-width: 0; padding-inline: 9px; }
343
+ .operations-priority { grid-template-columns: 1fr; }
344
+ .attention-card > header { grid-template-columns: 38px 1fr; }
345
+ .attention-card > header .confidence { grid-column: 2; justify-self: start; }
346
+ .attention-reason { grid-template-columns: 1fr; }
347
+ .management-evidence dl { grid-template-columns: 1fr; }
348
+ .management-evidence dl div { border-right: 0; border-bottom: 1px solid var(--line-soft); }
349
+ }
350
+
351
+ @media (max-width: 640px) {
352
+ .operations-overview > header,
353
+ .attention-inbox-head { align-items: flex-start; flex-direction: column; padding: 18px; }
354
+ .operations-review-total { align-self: stretch; justify-content: space-between; }
355
+ .operations-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
356
+ .operations-metrics > * { min-height: 62px; padding: 12px; }
357
+ .attention-card-list { padding: 10px; }
358
+ .attention-inbox-summary { align-items: stretch; padding: 10px; }
359
+ .management-filter-all,
360
+ .management-filter-group { width: 100%; }
361
+ .management-filter-all button { width: 100%; justify-content: center; }
362
+ .attention-card { padding: 13px; }
363
+ .management-progress > p { align-items: flex-start; flex-direction: column; }
364
+ }
@@ -8,7 +8,7 @@
8
8
  display: block;
9
9
  margin-top: 5px;
10
10
  color: #8290a2;
11
- font-size: 11px;
11
+ font-size: 12px;
12
12
  }
13
13
 
14
14
  .beginner-guide li>i {
@@ -34,7 +34,7 @@
34
34
  display: block;
35
35
  margin-top: 4px;
36
36
  color: #7e8da0;
37
- font-size: 11px;
37
+ font-size: 12px;
38
38
  line-height: 1.45;
39
39
  }
40
40
 
@@ -103,7 +103,7 @@
103
103
  .new-run-cta-copy small {
104
104
  margin-left: auto;
105
105
  color: rgba(4,16,23,.58);
106
- font-size: 9px;
106
+ font-size: 12px;
107
107
  }
108
108
 
109
109
  .new-run-cta-copy kbd {
@@ -152,7 +152,7 @@
152
152
  display: block;
153
153
  margin-top: 3px;
154
154
  color: #8d9dad;
155
- font-size: 10px;
155
+ font-size: 12px;
156
156
  }
157
157
 
158
158
  .beginner-guide {
@@ -178,7 +178,7 @@
178
178
  border-radius: 999px;
179
179
  background: #17394a;
180
180
  color: #8ce5ff!important;
181
- font-size: 10px!important;
181
+ font-size: 12px!important;
182
182
  font-weight: 800;
183
183
  letter-spacing: .06em;
184
184
  }
@@ -282,7 +282,7 @@
282
282
  display: block;
283
283
  margin-top: 5px;
284
284
  color: #a0adbd;
285
- font-size: 11px;
285
+ font-size: 12px;
286
286
  line-height: 1.5;
287
287
  }
288
288
 
@@ -290,7 +290,7 @@
290
290
  display: block;
291
291
  margin-top: 9px;
292
292
  color: #82dfff;
293
- font-size: 10px;
293
+ font-size: 12px;
294
294
  font-style: normal;
295
295
  font-weight: 750;
296
296
  }
@@ -330,7 +330,7 @@
330
330
  border-radius: 9px;
331
331
  background: #17222e;
332
332
  color: #9cabb9;
333
- font-size: 10px;
333
+ font-size: 12px;
334
334
  cursor: pointer;
335
335
  }
336
336
 
@@ -25,13 +25,13 @@
25
25
  .drawer-loading b {
26
26
  margin-top: 13px;
27
27
  color: #b9c4d1;
28
- font-size: 10px;
28
+ font-size: 12px;
29
29
  }
30
30
 
31
31
  .drawer-loading small {
32
32
  margin-top: 5px;
33
33
  color: #596678;
34
- font-size: 8px;
34
+ font-size: 12px;
35
35
  }
36
36
 
37
37
  .drawer-backdrop {
@@ -101,7 +101,7 @@
101
101
  max-width: 420px;
102
102
  margin-top: 8px;
103
103
  color: #78879a;
104
- font-size: 11px;
104
+ font-size: 12px;
105
105
  }
106
106
 
107
107
  .drawer-error button {
@@ -144,7 +144,7 @@
144
144
  background: #121924;
145
145
  box-shadow: 0 12px 36px rgba(0,0,0,.35);
146
146
  color: #bdc7d4;
147
- font-size: 9px;
147
+ font-size: 12px;
148
148
  }
149
149
 
150
150
  .drawer-backdrop:not(.hidden) {
@@ -210,6 +210,12 @@
210
210
  color: #c6f8e4;
211
211
  }
212
212
 
213
+ .drawer-meta .origin-project-meta {
214
+ border-color: rgba(89,216,255,.24);
215
+ background: rgba(89,216,255,.06);
216
+ color: #79cce4;
217
+ }
218
+
213
219
  .drawer-meta .work-state.working {
214
220
  border-color: rgba(76,227,154,.3);
215
221
  background: rgba(76,227,154,.09);
@@ -229,8 +235,8 @@
229
235
  }
230
236
 
231
237
  .close-button {
232
- width: 32px;
233
- height: 32px;
238
+ width: 40px;
239
+ height: 40px;
234
240
  margin-left: auto;
235
241
  border: 1px solid var(--line);
236
242
  border-radius: 9px;
@@ -246,7 +252,7 @@
246
252
  font-weight: 700;
247
253
  letter-spacing: .12em;
248
254
  text-transform: uppercase;
249
- font-size: 11px;
255
+ font-size: 12px;
250
256
  }
251
257
 
252
258
  .drawer-title h2 {