@grifhinz/logics-manager 2.5.2 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,34 +19,49 @@
19
19
  <div class="viewer-topbar__identity">
20
20
  <div class="viewer-topbar__title">Logics Viewer</div>
21
21
  <span class="viewer-topbar__repo" id="viewer-repo-pill" title="">repository</span>
22
+ <span class="viewer-topbar__repo-actions" id="viewer-repo-actions" aria-label="Repository shortcuts">
23
+ <a class="viewer-topbar__repo-action" id="viewer-repo-github" href="#" target="_blank" rel="noreferrer" title="Open GitHub repository" aria-label="Open GitHub repository" hidden>
24
+ <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M9 19c-4.2 1.2-4.2-2-6-2.4m12 4.4v-3.5c0-1 .1-1.4-.5-2 2-.2 4.1-1 4.1-4.6 0-1-.4-1.9-1-2.6.1-.3.4-1.3-.1-2.6 0 0-.8-.3-2.7 1a9.3 9.3 0 0 0-4.9 0c-1.8-1.3-2.7-1-2.7-1-.5 1.3-.2 2.3-.1 2.6a3.8 3.8 0 0 0-1 2.6c0 3.6 2.1 4.4 4.1 4.6-.5.5-.7 1-.7 1.9V21" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" /></svg>
25
+ </a>
26
+ <button class="viewer-topbar__repo-action" id="viewer-repo-folder" type="button" title="Open repository folder" aria-label="Open repository folder" hidden>
27
+ <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M3.5 6.5h6l2 2H20.5v9a2 2 0 0 1-2 2h-13a2 2 0 0 1-2-2z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round" /><path d="M3.5 8.5h17" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" /></svg>
28
+ </button>
29
+ </span>
22
30
  </div>
23
31
  <div class="viewer-topbar__meta" id="viewer-meta">Read-only local viewer</div>
24
32
  </div>
25
33
  <div class="viewer-topbar__actions">
26
34
  <div class="viewer-refresh-menu">
27
- <button class="btn" id="viewer-refresh-menu-button" type="button" title="Refresh options" aria-haspopup="menu" aria-expanded="false" aria-controls="viewer-refresh-menu">Refresh</button>
28
- <div class="viewer-refresh-menu__panel" id="viewer-refresh-menu" role="menu" aria-label="Refresh options" hidden>
29
- <label class="viewer-auto-refresh" title="Toggle automatic refresh">
30
- <input id="viewer-auto-refresh" type="checkbox" checked />
31
- <span>Auto</span>
32
- </label>
33
- <label class="viewer-refresh-menu__interval">
34
- <span>Interval</span>
35
- <select id="viewer-refresh-interval" aria-label="Automatic refresh interval">
36
- <option value="5">5 sec</option>
37
- <option value="10">10 sec</option>
38
- <option value="15" selected>15 sec</option>
39
- <option value="30">30 sec</option>
40
- <option value="60">60 sec</option>
41
- </select>
42
- </label>
43
- <button class="btn" data-action="refresh" type="button" title="Refresh viewer data now">Now</button>
35
+ <button class="btn" id="viewer-refresh-menu-button" type="button" title="Viewer settings" aria-haspopup="menu" aria-expanded="false" aria-controls="viewer-refresh-menu">Settings</button>
36
+ <div class="viewer-refresh-menu__panel" id="viewer-refresh-menu" role="menu" aria-label="Viewer settings" hidden>
37
+ <section class="viewer-settings-menu__section" aria-label="Refresh settings">
38
+ <div class="viewer-settings-menu__heading">Refresh</div>
39
+ <label class="viewer-auto-refresh" title="Toggle automatic refresh">
40
+ <input id="viewer-auto-refresh" type="checkbox" checked />
41
+ <span>Auto</span>
42
+ </label>
43
+ <label class="viewer-refresh-menu__interval">
44
+ <span>Interval</span>
45
+ <select id="viewer-refresh-interval" aria-label="Automatic refresh interval">
46
+ <option value="5">5 sec</option>
47
+ <option value="10">10 sec</option>
48
+ <option value="15" selected>15 sec</option>
49
+ <option value="30">30 sec</option>
50
+ <option value="60">60 sec</option>
51
+ </select>
52
+ </label>
53
+ <button class="btn" data-action="refresh" type="button" title="Refresh viewer data now">Refresh now</button>
54
+ </section>
55
+ <section class="viewer-settings-menu__section" aria-label="Viewer utilities">
56
+ <div class="viewer-settings-menu__heading">Utilities</div>
57
+ <button class="btn" id="viewer-insights" type="button" title="Show corpus insights">Insights</button>
58
+ <button class="btn" id="viewer-health" type="button" title="Show lint and audit health">Health</button>
59
+ </section>
44
60
  </div>
45
61
  </div>
46
62
  <button class="btn" id="viewer-git" type="button" title="Show Git status">Git</button>
63
+ <button class="btn" id="viewer-ci" type="button" title="Show GitHub Actions CI status" hidden>CI</button>
47
64
  <button class="btn" id="viewer-cdx" type="button" title="Show CDX status">CDX</button>
48
- <button class="btn" id="viewer-insights" type="button" title="Show corpus insights">Insights</button>
49
- <button class="btn" id="viewer-health" type="button" title="Show lint and audit health">Health</button>
50
65
  </div>
51
66
  </header>
52
67
 
@@ -172,6 +187,11 @@
172
187
  <code id="viewer-update-command"></code>
173
188
  </div>
174
189
 
190
+ <div class="viewer-connection" id="viewer-connection" role="status" hidden>
191
+ <span id="viewer-connection-copy"></span>
192
+ <span class="viewer-connection__detail" id="viewer-connection-detail"></span>
193
+ </div>
194
+
175
195
  <div class="layout" id="layout">
176
196
  <main class="layout__main" id="layout-main">
177
197
  <div class="board" id="board"></div>
@@ -37,6 +37,42 @@
37
37
  line-height: 1.3;
38
38
  }
39
39
 
40
+ .viewer-topbar__repo-actions {
41
+ display: inline-flex;
42
+ align-items: center;
43
+ gap: 4px;
44
+ flex: 0 0 auto;
45
+ }
46
+
47
+ .viewer-topbar__repo-action {
48
+ width: 24px;
49
+ height: 24px;
50
+ display: inline-grid;
51
+ place-items: center;
52
+ border: 1px solid var(--vscode-panel-border, #333333);
53
+ border-radius: 999px;
54
+ background: var(--vscode-button-secondaryBackground, transparent);
55
+ color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
56
+ padding: 0;
57
+ cursor: pointer;
58
+ text-decoration: none;
59
+ }
60
+
61
+ .viewer-topbar__repo-action[hidden] {
62
+ display: none !important;
63
+ }
64
+
65
+ .viewer-topbar__repo-action:hover {
66
+ border-color: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 45%, var(--vscode-panel-border, #333333));
67
+ color: var(--vscode-textLink-foreground, #4ea1ff);
68
+ }
69
+
70
+ .viewer-topbar__repo-action svg {
71
+ width: 15px;
72
+ height: 15px;
73
+ display: block;
74
+ }
75
+
40
76
  .viewer-topbar__meta {
41
77
  margin-top: 2px;
42
78
  font-size: 12px;
@@ -87,6 +123,62 @@
87
123
  color: #f59e0b;
88
124
  }
89
125
 
126
+ .viewer-ci-badge {
127
+ display: inline-grid;
128
+ min-width: 18px;
129
+ height: 16px;
130
+ place-items: center;
131
+ border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
132
+ border-radius: 999px;
133
+ padding: 0 5px;
134
+ font-size: 10px;
135
+ font-weight: 700;
136
+ line-height: 1;
137
+ }
138
+
139
+ .viewer-ci-badge--passing,
140
+ .viewer-ci__badge--passing {
141
+ background: rgba(34, 197, 94, 0.14);
142
+ color: #22c55e;
143
+ }
144
+
145
+ .viewer-ci-badge--failing,
146
+ .viewer-ci__badge--failing {
147
+ background: rgba(239, 68, 68, 0.16);
148
+ color: #ef4444;
149
+ }
150
+
151
+ .viewer-ci-badge--running,
152
+ .viewer-ci__badge--running {
153
+ background: rgba(245, 158, 11, 0.16);
154
+ color: #f59e0b;
155
+ }
156
+
157
+ .viewer-ci-badge--cancelled,
158
+ .viewer-ci-badge--unavailable,
159
+ .viewer-ci-badge--unknown,
160
+ .viewer-ci__badge--cancelled,
161
+ .viewer-ci__badge--unavailable,
162
+ .viewer-ci__badge--unknown {
163
+ background: color-mix(in srgb, var(--vscode-descriptionForeground, #aaaaaa) 14%, transparent);
164
+ color: var(--vscode-descriptionForeground, #aaaaaa);
165
+ }
166
+
167
+ .viewer-cdx-button-badge {
168
+ display: inline-grid;
169
+ min-width: 16px;
170
+ height: 16px;
171
+ place-items: center;
172
+ border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
173
+ border-radius: 999px;
174
+ padding: 0 4px;
175
+ background: rgba(34, 197, 94, 0.14);
176
+ color: #22c55e;
177
+ font-size: 10px;
178
+ font-weight: 700;
179
+ line-height: 1;
180
+ }
181
+
90
182
  .viewer-refresh-menu {
91
183
  position: relative;
92
184
  display: inline-flex;
@@ -99,8 +191,8 @@
99
191
  right: 0;
100
192
  z-index: 60;
101
193
  display: grid;
102
- gap: 10px;
103
- min-width: 180px;
194
+ gap: 12px;
195
+ min-width: 220px;
104
196
  padding: 10px;
105
197
  border: 1px solid var(--vscode-panel-border, #333333);
106
198
  border-radius: 6px;
@@ -113,6 +205,29 @@
113
205
  display: none !important;
114
206
  }
115
207
 
208
+ .viewer-settings-menu__section {
209
+ display: grid;
210
+ gap: 8px;
211
+ min-width: 0;
212
+ }
213
+
214
+ .viewer-settings-menu__section + .viewer-settings-menu__section {
215
+ padding-top: 10px;
216
+ border-top: 1px solid var(--vscode-panel-border, #333333);
217
+ }
218
+
219
+ .viewer-settings-menu__heading {
220
+ color: var(--vscode-descriptionForeground, #9da5b4);
221
+ font-size: 11px;
222
+ font-weight: 700;
223
+ text-transform: uppercase;
224
+ }
225
+
226
+ .viewer-settings-menu__section > .btn {
227
+ justify-content: center;
228
+ width: 100%;
229
+ }
230
+
116
231
  .viewer-auto-refresh {
117
232
  display: inline-flex;
118
233
  align-items: center;
@@ -153,19 +268,30 @@
153
268
  text-transform: none;
154
269
  }
155
270
 
156
- .viewer-update {
271
+ .viewer-update,
272
+ .viewer-connection {
157
273
  flex: 0 0 auto;
158
274
  display: flex;
159
275
  align-items: center;
160
276
  gap: 10px;
161
277
  padding: 8px 12px;
162
- border-bottom: 1px solid rgba(245, 158, 11, 0.4);
163
- background: rgba(245, 158, 11, 0.12);
164
278
  color: var(--vscode-foreground, #d4d4d4);
165
279
  font-size: 12px;
166
280
  }
167
281
 
168
- .viewer-update[hidden] {
282
+ .viewer-update {
283
+ border-bottom: 1px solid rgba(245, 158, 11, 0.4);
284
+ background: rgba(245, 158, 11, 0.12);
285
+ }
286
+
287
+ .viewer-connection {
288
+ justify-content: space-between;
289
+ border-bottom: 1px solid rgba(248, 113, 113, 0.45);
290
+ background: rgba(127, 29, 29, 0.24);
291
+ }
292
+
293
+ .viewer-update[hidden],
294
+ .viewer-connection[hidden] {
169
295
  display: none !important;
170
296
  }
171
297
 
@@ -176,6 +302,10 @@
176
302
  color: var(--vscode-textPreformat-foreground, #d7ba7d);
177
303
  }
178
304
 
305
+ .viewer-connection__detail {
306
+ color: var(--vscode-descriptionForeground, #9da5b4);
307
+ }
308
+
179
309
  .viewer-filter-panel {
180
310
  display: grid;
181
311
  grid-template-columns: minmax(220px, 0.9fr) minmax(360px, 1.6fr) minmax(180px, 0.7fr);
@@ -401,6 +531,7 @@
401
531
 
402
532
  .viewer-git__summary,
403
533
  .viewer-cdx__summary,
534
+ .viewer-ci__summary,
404
535
  .viewer-insights__summary,
405
536
  .viewer-health__summary {
406
537
  display: grid;
@@ -415,6 +546,114 @@
415
546
  align-items: start;
416
547
  }
417
548
 
549
+ .viewer-ci {
550
+ display: grid;
551
+ gap: 12px;
552
+ }
553
+
554
+ .viewer-ci__workspace {
555
+ display: grid;
556
+ grid-template-columns: minmax(280px, 1fr) minmax(240px, 0.85fr);
557
+ gap: 12px;
558
+ align-items: start;
559
+ }
560
+
561
+ .viewer-ci__section {
562
+ min-width: 0;
563
+ border: 1px solid var(--vscode-panel-border, #333333);
564
+ border-radius: 6px;
565
+ background: var(--vscode-editorWidget-background, #202020);
566
+ padding: 12px;
567
+ }
568
+
569
+ .viewer-ci__heading {
570
+ display: flex;
571
+ align-items: center;
572
+ justify-content: space-between;
573
+ gap: 10px;
574
+ margin-bottom: 10px;
575
+ }
576
+
577
+ .viewer-ci__heading h2 {
578
+ margin: 0;
579
+ font-size: 13px;
580
+ }
581
+
582
+ .viewer-ci__heading span {
583
+ color: var(--vscode-descriptionForeground, #aaaaaa);
584
+ font-size: 12px;
585
+ }
586
+
587
+ .viewer-ci__badge {
588
+ display: inline-flex;
589
+ align-items: center;
590
+ justify-content: center;
591
+ min-height: 20px;
592
+ border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
593
+ border-radius: 999px;
594
+ padding: 2px 8px;
595
+ font-size: 11px;
596
+ font-weight: 700;
597
+ }
598
+
599
+ .viewer-ci__list,
600
+ .viewer-ci__jobs {
601
+ display: grid;
602
+ gap: 6px;
603
+ margin: 0;
604
+ padding: 0;
605
+ list-style: none;
606
+ }
607
+
608
+ .viewer-ci__row,
609
+ .viewer-ci__job,
610
+ .viewer-ci__empty {
611
+ min-width: 0;
612
+ border: 1px solid color-mix(in srgb, var(--vscode-panel-border, #333333) 74%, transparent);
613
+ border-radius: 6px;
614
+ padding: 8px 9px;
615
+ background: var(--vscode-sideBar-background, #252526);
616
+ font-size: 12px;
617
+ }
618
+
619
+ .viewer-ci__row,
620
+ .viewer-ci__job,
621
+ .viewer-ci__job a {
622
+ display: flex;
623
+ justify-content: space-between;
624
+ gap: 12px;
625
+ }
626
+
627
+ .viewer-ci__job a {
628
+ width: 100%;
629
+ color: inherit;
630
+ text-decoration: none;
631
+ }
632
+
633
+ .viewer-ci__row span,
634
+ .viewer-ci__job span {
635
+ color: var(--vscode-descriptionForeground, #aaaaaa);
636
+ }
637
+
638
+ .viewer-ci__row strong,
639
+ .viewer-ci__job strong {
640
+ min-width: 0;
641
+ text-align: right;
642
+ overflow-wrap: anywhere;
643
+ }
644
+
645
+ .viewer-ci__link {
646
+ display: inline-flex;
647
+ margin-top: 10px;
648
+ color: var(--vscode-textLink-foreground, #4ea1ff);
649
+ font-size: 12px;
650
+ }
651
+
652
+ .viewer-ci__state,
653
+ .viewer-ci__empty {
654
+ color: var(--vscode-descriptionForeground, #9da5b4);
655
+ }
656
+
418
657
  .viewer-cdx__stack {
419
658
  display: grid;
420
659
  gap: 12px;
@@ -785,6 +1024,33 @@
785
1024
  background: var(--vscode-editorWidget-background, #202020);
786
1025
  }
787
1026
 
1027
+ .viewer-git__commit-row[hidden] {
1028
+ display: none !important;
1029
+ }
1030
+
1031
+ .viewer-git__commit-row--reveal {
1032
+ padding: 0;
1033
+ border: 0;
1034
+ background: transparent;
1035
+ }
1036
+
1037
+ .viewer-git__reveal {
1038
+ width: 100%;
1039
+ min-height: 32px;
1040
+ border: 1px solid var(--vscode-panel-border, #333333);
1041
+ border-radius: 6px;
1042
+ background: var(--vscode-button-secondaryBackground, transparent);
1043
+ color: var(--vscode-button-secondaryForeground, var(--vscode-foreground, #d4d4d4));
1044
+ font: inherit;
1045
+ font-size: 12px;
1046
+ cursor: pointer;
1047
+ }
1048
+
1049
+ .viewer-git__reveal:hover {
1050
+ border-color: color-mix(in srgb, var(--vscode-textLink-foreground, #4ea1ff) 45%, var(--vscode-panel-border, #333333));
1051
+ color: var(--vscode-textLink-foreground, #4ea1ff);
1052
+ }
1053
+
788
1054
  .viewer-git__commit-main,
789
1055
  .viewer-git__commit-meta {
790
1056
  display: flex;
@@ -940,6 +1206,10 @@
940
1206
  .viewer-git__workspace {
941
1207
  grid-template-columns: 1fr;
942
1208
  }
1209
+
1210
+ .viewer-ci__workspace {
1211
+ grid-template-columns: 1fr;
1212
+ }
943
1213
  }
944
1214
 
945
1215
  .viewer-document__content a {
@@ -1001,11 +1271,34 @@
1001
1271
  gap: 16px;
1002
1272
  }
1003
1273
 
1274
+ .viewer-insights__hero {
1275
+ display: grid;
1276
+ grid-template-columns: minmax(220px, 0.9fr) minmax(320px, 1.1fr);
1277
+ gap: 12px;
1278
+ align-items: stretch;
1279
+ padding: 12px;
1280
+ border: 1px solid var(--vscode-panel-border, #333333);
1281
+ border-radius: 6px;
1282
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, #202020) 86%, var(--vscode-textLink-foreground, #4ea1ff) 14%);
1283
+ }
1284
+
1285
+ .viewer-insights__hero h2,
1286
+ .viewer-insights__section h2 {
1287
+ margin: 0;
1288
+ font-size: 14px;
1289
+ }
1290
+
1291
+ .viewer-insights__hero p {
1292
+ margin: 6px 0 0;
1293
+ color: var(--vscode-descriptionForeground, #9da5b4);
1294
+ line-height: 1.45;
1295
+ }
1296
+
1004
1297
  .viewer-insights__summary,
1005
1298
  .viewer-insights__grid {
1006
1299
  display: grid;
1007
- grid-template-columns: repeat(4, minmax(0, 1fr));
1008
- gap: 10px;
1300
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
1301
+ gap: 8px;
1009
1302
  }
1010
1303
 
1011
1304
  .viewer-insights__card {
@@ -1015,6 +1308,14 @@
1015
1308
  background: var(--vscode-sideBar-background, #252526);
1016
1309
  }
1017
1310
 
1311
+ .viewer-insights__card--warning {
1312
+ border-color: color-mix(in srgb, var(--vscode-notificationsWarningIcon-foreground, #d7ba7d) 48%, var(--vscode-panel-border, #333333));
1313
+ }
1314
+
1315
+ .viewer-insights__card--ok {
1316
+ border-color: color-mix(in srgb, var(--vscode-testing-iconPassed, #73c991) 44%, var(--vscode-panel-border, #333333));
1317
+ }
1318
+
1018
1319
  .viewer-insights__label {
1019
1320
  color: var(--vscode-descriptionForeground, #9da5b4);
1020
1321
  font-size: 11px;
@@ -1033,6 +1334,25 @@
1033
1334
  gap: 8px;
1034
1335
  }
1035
1336
 
1337
+ .viewer-insights__workspace {
1338
+ display: grid;
1339
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1340
+ gap: 12px;
1341
+ align-items: start;
1342
+ }
1343
+
1344
+ .viewer-insights__section {
1345
+ min-width: 0;
1346
+ padding: 12px;
1347
+ border: 1px solid var(--vscode-panel-border, #333333);
1348
+ border-radius: 6px;
1349
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, #202020) 88%, transparent);
1350
+ }
1351
+
1352
+ .viewer-insights__section--wide {
1353
+ grid-column: 1 / -1;
1354
+ }
1355
+
1036
1356
  .viewer-insights__list {
1037
1357
  display: grid;
1038
1358
  gap: 6px;
@@ -1051,6 +1371,83 @@
1051
1371
  background: var(--vscode-editorWidget-background, #202020);
1052
1372
  }
1053
1373
 
1374
+ .viewer-insights__bars,
1375
+ .viewer-insights__signals {
1376
+ display: grid;
1377
+ gap: 8px;
1378
+ margin: 0;
1379
+ padding: 0;
1380
+ list-style: none;
1381
+ }
1382
+
1383
+ .viewer-insights__bar-row {
1384
+ display: grid;
1385
+ gap: 5px;
1386
+ min-width: 0;
1387
+ font-size: 12px;
1388
+ }
1389
+
1390
+ .viewer-insights__bar-meta,
1391
+ .viewer-insights__signal {
1392
+ display: flex;
1393
+ justify-content: space-between;
1394
+ gap: 12px;
1395
+ min-width: 0;
1396
+ }
1397
+
1398
+ .viewer-insights__bar-meta span,
1399
+ .viewer-insights__signal span {
1400
+ min-width: 0;
1401
+ }
1402
+
1403
+ .viewer-insights__signal span {
1404
+ flex: 0 0 min(42%, 160px);
1405
+ overflow-wrap: normal;
1406
+ }
1407
+
1408
+ .viewer-insights__signal strong {
1409
+ flex: 1 1 auto;
1410
+ min-width: 0;
1411
+ text-align: right;
1412
+ overflow-wrap: anywhere;
1413
+ }
1414
+
1415
+ .viewer-insights__bar-track {
1416
+ height: 7px;
1417
+ overflow: hidden;
1418
+ border: 1px solid var(--vscode-panel-border, #333333);
1419
+ border-radius: 999px;
1420
+ background: var(--vscode-sideBar-background, #252526);
1421
+ }
1422
+
1423
+ .viewer-insights__bar-track span {
1424
+ display: block;
1425
+ height: 100%;
1426
+ border-radius: inherit;
1427
+ background: var(--vscode-textLink-foreground, #4ea1ff);
1428
+ }
1429
+
1430
+ .viewer-insights__signal {
1431
+ padding: 7px 9px;
1432
+ border: 1px solid var(--vscode-panel-border, #333333);
1433
+ border-radius: 6px;
1434
+ background: var(--vscode-editorWidget-background, #202020);
1435
+ font-size: 12px;
1436
+ }
1437
+
1438
+ .viewer-insights__signal--warning {
1439
+ border-color: color-mix(in srgb, var(--vscode-notificationsWarningIcon-foreground, #d7ba7d) 44%, var(--vscode-panel-border, #333333));
1440
+ }
1441
+
1442
+ .viewer-insights__signal--ok strong {
1443
+ color: var(--vscode-testing-iconPassed, #73c991);
1444
+ }
1445
+
1446
+ .viewer-insights__signal--muted strong,
1447
+ .viewer-insights__signal--empty {
1448
+ color: var(--vscode-descriptionForeground, #9da5b4);
1449
+ }
1450
+
1054
1451
  .viewer-health__summary {
1055
1452
  display: grid;
1056
1453
  grid-template-columns: repeat(3, minmax(0, 1fr));
@@ -1150,15 +1547,35 @@
1150
1547
  justify-content: center;
1151
1548
  }
1152
1549
 
1550
+ .viewer-refresh-menu__panel {
1551
+ left: 0;
1552
+ right: auto;
1553
+ min-width: min(260px, 100%);
1554
+ }
1555
+
1153
1556
  .viewer-document {
1154
1557
  inset: 10px;
1155
1558
  }
1156
1559
 
1560
+ .viewer-insights__hero,
1561
+ .viewer-insights__workspace,
1157
1562
  .viewer-insights__summary,
1158
1563
  .viewer-insights__grid {
1159
1564
  grid-template-columns: 1fr;
1160
1565
  }
1161
1566
 
1567
+ .viewer-insights__signal {
1568
+ align-items: flex-start;
1569
+ flex-direction: column;
1570
+ }
1571
+
1572
+ .viewer-insights__signal span,
1573
+ .viewer-insights__signal strong {
1574
+ flex: none;
1575
+ width: 100%;
1576
+ text-align: left;
1577
+ }
1578
+
1162
1579
  .viewer-health__summary {
1163
1580
  grid-template-columns: 1fr;
1164
1581
  }