@codemem/server 0.43.0 → 0.43.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.
package/static/app.js.br CHANGED
Binary file
package/static/app.js.gz CHANGED
Binary file
package/static/index.html CHANGED
@@ -336,6 +336,61 @@
336
336
  padding: var(--sp-3);
337
337
  }
338
338
 
339
+ .coordinator-admin-legacy-notice {
340
+ display: flex;
341
+ align-items: flex-start;
342
+ justify-content: space-between;
343
+ gap: var(--sp-4);
344
+ margin-bottom: var(--sp-4);
345
+ }
346
+
347
+ .coordinator-admin-recovery-notice {
348
+ display: flex;
349
+ align-items: flex-start;
350
+ justify-content: space-between;
351
+ gap: var(--sp-4);
352
+ border-width: 2px;
353
+ }
354
+
355
+ .coordinator-admin-legacy-notice-copy {
356
+ display: grid;
357
+ gap: var(--sp-2);
358
+ min-width: 0;
359
+ }
360
+
361
+ .coordinator-admin-legacy-notice-copy h3 {
362
+ margin: 0;
363
+ }
364
+
365
+ @media (max-width: 720px) {
366
+ .advanced-legacy-header {
367
+ align-items: stretch;
368
+ flex-direction: column;
369
+ }
370
+
371
+ .advanced-legacy-header .section-actions {
372
+ flex-wrap: wrap;
373
+ }
374
+
375
+ .coordinator-admin-legacy-notice {
376
+ align-items: stretch;
377
+ flex-direction: column;
378
+ }
379
+
380
+ .coordinator-admin-legacy-notice .settings-button {
381
+ width: 100%;
382
+ }
383
+
384
+ .coordinator-admin-recovery-notice {
385
+ align-items: stretch;
386
+ flex-direction: column;
387
+ }
388
+
389
+ .coordinator-admin-recovery-notice .settings-button {
390
+ width: 100%;
391
+ }
392
+ }
393
+
339
394
  .coordinator-admin-inline-meta {
340
395
  margin-top: -4px;
341
396
  }
@@ -592,6 +647,37 @@
592
647
  gap: var(--sp-4);
593
648
  }
594
649
 
650
+ .coordinator-admin-space-toolbar {
651
+ align-items: center;
652
+ justify-content: space-between;
653
+ flex-wrap: wrap;
654
+ }
655
+
656
+ .coordinator-admin-create-space-panel {
657
+ border: 1px solid var(--border);
658
+ border-radius: var(--radius-md);
659
+ background: var(--surface-1);
660
+ padding: var(--sp-3);
661
+ }
662
+
663
+ .coordinator-admin-create-space-panel[data-state="closed"] { display: none; }
664
+
665
+ .coordinator-admin-diagnostics {
666
+ color: var(--text-tertiary);
667
+ font-size: var(--font-size-sm);
668
+ min-width: 0;
669
+ }
670
+
671
+ .coordinator-admin-diagnostics summary {
672
+ cursor: pointer;
673
+ font-weight: var(--font-weight-semibold);
674
+ width: fit-content;
675
+ }
676
+
677
+ .coordinator-admin-diagnostics[open] > :not(summary) { margin-top: var(--sp-1); }
678
+
679
+ .coordinator-admin-card-title { margin: 0; overflow-wrap: anywhere; }
680
+
595
681
  .coordinator-admin-scope-card-list {
596
682
  display: grid;
597
683
  gap: var(--sp-3);
@@ -1203,15 +1289,33 @@
1203
1289
  font-weight: var(--font-weight-semibold);
1204
1290
  }
1205
1291
  .recipient-policy-management-dialog .modal-card { width: min(720px, calc(100vw - 32px)); }
1292
+ .recipient-policy-team-settings-dialog .modal-card { width: min(440px, calc(100vw - 32px)); }
1293
+ .recipient-policy-team-settings-dialog .form-field { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); }
1294
+ .recipient-policy-team-settings-dialog .form-field span { font-weight: var(--font-weight-semibold); }
1295
+ .recipient-policy-team-settings-dialog input { width: 100%; }
1296
+ .recipient-policy-team-settings-actions { justify-content: flex-end; flex-wrap: wrap; }
1206
1297
  .legacy-team-setup-dialog .modal-card { width: min(680px, calc(100vw - 32px)); }
1207
1298
  .legacy-team-setup-steps {
1208
1299
  display: grid;
1209
1300
  grid-template-columns: repeat(3, minmax(0, 1fr));
1210
1301
  gap: var(--sp-2);
1211
1302
  margin: var(--sp-2) 0;
1212
- padding-left: var(--sp-5);
1303
+ padding: 0;
1304
+ list-style: none;
1213
1305
  }
1214
- .legacy-team-setup-steps button { width: 100%; }
1306
+ .legacy-team-setup-step {
1307
+ display: grid;
1308
+ grid-template-columns: auto minmax(0, 1fr);
1309
+ align-items: center;
1310
+ gap: var(--sp-2);
1311
+ min-width: 0;
1312
+ }
1313
+ .legacy-team-setup-step-number {
1314
+ color: var(--text-secondary);
1315
+ font-weight: var(--font-weight-semibold);
1316
+ font-variant-numeric: tabular-nums;
1317
+ }
1318
+ .legacy-team-setup-steps button { width: 100%; min-width: 0; }
1215
1319
  .legacy-team-setup-steps button[aria-current="step"] {
1216
1320
  border-color: var(--accent);
1217
1321
  background: var(--accent-subtle);
@@ -1222,18 +1326,27 @@
1222
1326
  opacity: 0.55;
1223
1327
  cursor: not-allowed;
1224
1328
  }
1225
- .legacy-team-setup-body h3 { margin: var(--sp-2) 0; }
1329
+ .legacy-team-setup-body h3 { margin: var(--sp-4) 0 var(--sp-2); }
1226
1330
  .legacy-team-setup-body p { overflow-wrap: anywhere; }
1227
1331
  .legacy-team-setup-error { display: grid; gap: var(--sp-2); justify-items: start; }
1332
+ .legacy-team-setup-recovery {
1333
+ max-width: 44rem;
1334
+ margin-block: var(--sp-4);
1335
+ padding: var(--sp-4);
1336
+ border: 1px solid var(--accent-warm);
1337
+ border-radius: var(--radius-sm);
1338
+ background: var(--accent-warm-subtle);
1339
+ }
1340
+ .legacy-team-setup-recovery p { margin: 0; }
1228
1341
  .legacy-team-setup-actions { justify-content: flex-end; }
1229
1342
  .legacy-team-setup-target { min-width: 24px; min-height: 24px; }
1230
- .legacy-team-device-list { display: grid; gap: var(--sp-3); margin-top: var(--sp-3); }
1343
+ .legacy-team-device-list { display: grid; gap: var(--sp-4); margin-top: var(--sp-4); }
1231
1344
  .legacy-team-device-row {
1232
1345
  display: grid;
1233
1346
  gap: var(--sp-2);
1234
1347
  min-width: 0;
1235
1348
  margin: 0;
1236
- padding: var(--sp-3);
1349
+ padding: var(--sp-4);
1237
1350
  border: 1px solid var(--border);
1238
1351
  border-radius: var(--radius-md);
1239
1352
  background: var(--surface-2);
@@ -1245,16 +1358,23 @@
1245
1358
  }
1246
1359
  .legacy-team-device-row label { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); }
1247
1360
  .legacy-team-device-evidence { display: grid; gap: var(--sp-1); }
1248
- .legacy-team-device-select { width: 100%; margin: 0; }
1361
+ .legacy-team-device-select { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; margin: 0; }
1249
1362
  .legacy-team-device-select:disabled { opacity: 0.55; cursor: not-allowed; }
1250
1363
  .legacy-team-device-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
1251
- .legacy-team-project-list { display: grid; gap: var(--sp-3); margin-top: var(--sp-3); }
1252
- .legacy-team-project-row {
1364
+ .legacy-team-project-list {
1253
1365
  display: grid;
1254
- gap: var(--sp-2);
1366
+ grid-template-columns: minmax(0, 1fr);
1367
+ gap: var(--sp-4);
1368
+ min-width: 0;
1369
+ margin-top: var(--sp-4);
1370
+ }
1371
+ .legacy-team-project-row {
1372
+ box-sizing: border-box;
1373
+ width: 100%;
1255
1374
  min-width: 0;
1375
+ max-width: 100%;
1256
1376
  margin: 0;
1257
- padding: var(--sp-3);
1377
+ padding: var(--sp-4);
1258
1378
  border: 1px solid var(--border);
1259
1379
  border-radius: var(--radius-md);
1260
1380
  background: var(--surface-2);
@@ -1263,16 +1383,100 @@
1263
1383
  padding: 0 var(--sp-1);
1264
1384
  color: var(--text-primary);
1265
1385
  font-weight: var(--font-weight-semibold);
1386
+ overflow-wrap: anywhere;
1387
+ }
1388
+ .legacy-team-project-row-content {
1389
+ display: grid;
1390
+ grid-template-columns: minmax(0, 1fr);
1391
+ gap: var(--sp-2);
1392
+ min-width: 0;
1393
+ max-width: 100%;
1266
1394
  }
1395
+ .legacy-team-project-row-content > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
1267
1396
  .legacy-team-project-row label { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); }
1268
- .legacy-team-project-select { width: 100%; margin: 0; }
1397
+ .legacy-team-project-select { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; margin: 0; }
1269
1398
  .legacy-team-project-select:disabled { opacity: 0.55; cursor: not-allowed; }
1399
+ .legacy-team-setup-row-needs-attention {
1400
+ border-color: var(--accent);
1401
+ background: var(--accent-subtle);
1402
+ scroll-margin-block: var(--sp-4);
1403
+ }
1404
+ .legacy-team-setup-row-needs-attention:focus,
1405
+ .legacy-team-setup-body h3:focus {
1406
+ outline: 2px solid var(--accent);
1407
+ outline-offset: 2px;
1408
+ }
1409
+ .legacy-team-setup-status {
1410
+ width: fit-content;
1411
+ padding: var(--sp-1) var(--sp-2);
1412
+ border: 1px solid var(--accent);
1413
+ border-radius: 999px;
1414
+ color: var(--text-primary);
1415
+ font-size: var(--font-size-xs);
1416
+ font-weight: var(--font-weight-semibold);
1417
+ }
1418
+ .legacy-team-setup-row-needs-attention .legacy-team-device-actions button:not([aria-disabled="true"]),
1419
+ .legacy-team-setup-row-needs-attention .legacy-team-project-row-content button:not([aria-disabled="true"]) {
1420
+ border-color: var(--accent);
1421
+ }
1422
+ .legacy-team-setup-next-action { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); justify-items: start; }
1423
+ .legacy-team-setup-next-action p { margin: 0; }
1270
1424
  .legacy-team-setup-delta { display: grid; gap: var(--sp-3); }
1425
+ .legacy-team-setup-review-summary {
1426
+ display: grid;
1427
+ gap: var(--sp-2);
1428
+ margin-block: var(--sp-3);
1429
+ padding: var(--sp-3);
1430
+ border: 1px solid var(--border);
1431
+ border-radius: var(--radius-sm);
1432
+ background: var(--surface-2);
1433
+ }
1434
+ .legacy-team-setup-review-summary p,
1435
+ .legacy-team-setup-review-summary ul { margin: 0; }
1436
+ .legacy-team-setup-net-effect {
1437
+ padding: var(--sp-3);
1438
+ border-inline-start: 4px solid var(--accent);
1439
+ border-radius: var(--radius-sm);
1440
+ background: var(--accent-subtle);
1441
+ line-height: 1.5;
1442
+ }
1271
1443
  .legacy-team-setup-delta section { padding-block: var(--sp-2); border-bottom: 1px solid var(--border); }
1272
1444
  .legacy-team-setup-delta h4 { margin: 0 0 var(--sp-2); }
1273
1445
  .legacy-team-setup-delta ul { display: grid; gap: var(--sp-1); margin: 0; padding-inline-start: var(--sp-5); }
1446
+ .legacy-team-setup-delta-summary { font-weight: var(--font-weight-semibold); }
1447
+ .legacy-team-setup-delta details { margin-top: var(--sp-2); }
1448
+ .legacy-team-setup-delta summary { cursor: pointer; font-weight: var(--font-weight-semibold); }
1449
+ .legacy-team-setup-delta .legacy-team-setup-exact-list {
1450
+ margin-top: var(--sp-2);
1451
+ padding-block: var(--sp-2);
1452
+ border-top: 1px solid var(--border);
1453
+ }
1274
1454
  .legacy-team-setup-confirmation { display: flex; gap: var(--sp-2); align-items: flex-start; margin-block: var(--sp-4); }
1275
1455
  .legacy-team-setup-confirmation input { flex: 0 0 auto; margin-top: 0.2em; min-width: 24px; min-height: 24px; }
1456
+ .legacy-team-setup-finish-progress {
1457
+ display: flex;
1458
+ gap: var(--sp-2);
1459
+ align-items: flex-start;
1460
+ margin-block: var(--sp-3);
1461
+ padding: var(--sp-3);
1462
+ border: 1px solid var(--accent);
1463
+ border-radius: var(--radius-sm);
1464
+ background: var(--accent-subtle);
1465
+ }
1466
+ .legacy-team-setup-spinner {
1467
+ width: 1rem;
1468
+ height: 1rem;
1469
+ flex: 0 0 auto;
1470
+ margin-top: 0.15em;
1471
+ border: 2px solid var(--border);
1472
+ border-top-color: var(--accent);
1473
+ border-radius: 50%;
1474
+ animation: legacy-team-setup-spin 0.8s linear infinite;
1475
+ }
1476
+ @keyframes legacy-team-setup-spin { to { transform: rotate(360deg); } }
1477
+ @media (prefers-reduced-motion: reduce) {
1478
+ .legacy-team-setup-spinner { animation: none; }
1479
+ }
1276
1480
  .recipient-policy-management-selection fieldset { border: 0; padding: 0; margin: var(--sp-4) 0 0; }
1277
1481
  .recipient-policy-management-selection legend { font-weight: var(--font-weight-semibold); }
1278
1482
  .recipient-policy-management-review section + section { margin-top: var(--sp-4); }
@@ -1307,6 +1511,7 @@
1307
1511
  .recipient-policy-sharing-tabs {
1308
1512
  position: static;
1309
1513
  display: flex;
1514
+ flex-wrap: wrap;
1310
1515
  gap: var(--sp-1);
1311
1516
  margin-bottom: var(--sp-4);
1312
1517
  padding: 0;
@@ -1317,6 +1522,11 @@
1317
1522
  .recipient-policy-sharing-tabs .tab-btn { color: var(--text-secondary); }
1318
1523
  .recipient-policy-sharing-tabs .tab-btn.active { color: var(--text-primary); }
1319
1524
  .recipient-policy-sharing-grid { display: grid; gap: var(--sp-3); }
1525
+ .recipient-policy-sharing-responsive-grid {
1526
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
1527
+ }
1528
+ .recipient-policy-sharing-responsive-surface { min-width: 0; }
1529
+ .recipient-policy-sharing-target { max-width: 100%; }
1320
1530
  .recipient-policy-sharing-card { border: 1px solid var(--border); border-radius: var(--radius-md); }
1321
1531
  .recipient-policy-sharing-card-title {
1322
1532
  display: flex;
@@ -1325,6 +1535,31 @@
1325
1535
  gap: var(--sp-3);
1326
1536
  }
1327
1537
  .recipient-policy-sharing-card-title h3 { margin: 0; }
1538
+ .recipient-policy-sharing-card,
1539
+ .recipient-policy-sharing-card-title,
1540
+ .recipient-policy-sharing-details dd { min-width: 0; overflow-wrap: anywhere; }
1541
+ .recipient-policy-sharing-state,
1542
+ .recipient-policy-sharing-empty {
1543
+ border: 1px solid var(--border);
1544
+ border-radius: var(--radius-md);
1545
+ background: var(--surface-1);
1546
+ color: var(--text-secondary);
1547
+ padding: var(--sp-3);
1548
+ }
1549
+ .recipient-policy-sharing-error {
1550
+ border-color: color-mix(in srgb, var(--status-attention) 45%, var(--border));
1551
+ color: var(--text-primary);
1552
+ }
1553
+ .recipient-policy-sharing-name-details,
1554
+ .recipient-policy-sharing-project-details { margin-top: var(--sp-2); }
1555
+ .recipient-policy-sharing-name-details summary,
1556
+ .recipient-policy-sharing-project-details summary {
1557
+ color: var(--text-secondary);
1558
+ cursor: pointer;
1559
+ font-weight: var(--font-weight-semibold);
1560
+ }
1561
+ .recipient-policy-sharing-name-details ul,
1562
+ .recipient-policy-sharing-project-details ul { margin: var(--sp-2) 0 0; padding-left: var(--sp-5); }
1328
1563
  .recipient-policy-sharing-details { display: grid; gap: var(--sp-3); margin: var(--sp-4) 0; }
1329
1564
  .recipient-policy-sharing-details div {
1330
1565
  display: grid;
@@ -1333,6 +1568,9 @@
1333
1568
  }
1334
1569
  .recipient-policy-sharing-details dt { color: var(--text-secondary); }
1335
1570
  .recipient-policy-sharing-details dd { margin: 0; color: var(--text-primary); }
1571
+ .recipient-policy-sharing-team-card > .recipient-policy-sharing-actions + .recipient-policy-sharing-actions {
1572
+ margin-top: var(--sp-2);
1573
+ }
1336
1574
 
1337
1575
  .loading-card-list { display: grid; gap: var(--sp-3); }
1338
1576
  .loading-card {
@@ -1436,6 +1674,32 @@
1436
1674
  }
1437
1675
  .recipient-policy-sharing-attention p { margin-top: var(--sp-2); }
1438
1676
  .recipient-policy-sharing-attention .settings-button { margin-top: var(--sp-3); }
1677
+ .recipient-policy-sharing-team-setup-list {
1678
+ display: grid;
1679
+ gap: var(--sp-3);
1680
+ margin: var(--sp-3) 0 0;
1681
+ padding: 0;
1682
+ list-style: none;
1683
+ }
1684
+ .recipient-policy-sharing-team-setup-group,
1685
+ .recipient-policy-sharing-team-setup-rows { display: grid; gap: var(--sp-2); }
1686
+ .recipient-policy-sharing-team-setup-group-title {
1687
+ display: flex;
1688
+ align-items: baseline;
1689
+ gap: var(--sp-2);
1690
+ min-width: 0;
1691
+ overflow-wrap: anywhere;
1692
+ flex-wrap: wrap;
1693
+ }
1694
+ .recipient-policy-sharing-team-setup-row {
1695
+ display: grid;
1696
+ grid-template-columns: minmax(0, 1fr) auto auto;
1697
+ align-items: center;
1698
+ gap: var(--sp-2);
1699
+ min-width: 0;
1700
+ }
1701
+ .recipient-policy-sharing-team-setup-label { min-width: 0; overflow-wrap: anywhere; }
1702
+ .recipient-policy-sharing-team-setup-action .settings-button { margin-top: 0; }
1439
1703
  .device-identity-setup-card fieldset,
1440
1704
  .device-identity-rebind fieldset {
1441
1705
  display: grid;
@@ -1466,7 +1730,12 @@
1466
1730
  .recipient-policy-sharing-responsive-actions { display: grid; grid-template-columns: 1fr; }
1467
1731
  .recipient-policy-management-actions button,
1468
1732
  .recipient-policy-sharing-responsive-actions button { min-height: 44px; width: 100%; }
1469
- .recipient-policy-sharing-responsive-tabs { overflow-x: auto; }
1733
+ .recipient-policy-sharing-responsive-tabs { flex-wrap: wrap; min-width: 0; overflow-x: visible; }
1734
+ .recipient-policy-sharing-responsive-tabs .tab-btn { flex: 1 1 auto; min-width: 0; }
1735
+ .coordinator-admin-space-toolbar,
1736
+ .coordinator-admin-space-toolbar > .peer-actions { align-items: stretch; width: 100%; }
1737
+ .coordinator-admin-space-toolbar > .peer-actions { display: grid; grid-template-columns: 1fr; }
1738
+ .coordinator-admin-space-toolbar .settings-button { width: 100%; }
1470
1739
  .recipient-policy-sharing-details div { grid-template-columns: 1fr; gap: var(--sp-1); }
1471
1740
  .recipient-policy-invitation-result { padding: var(--sp-3); }
1472
1741
  #devicesMount .recipient-policy-sharing-card > .settings-button,
@@ -1570,6 +1839,13 @@
1570
1839
  }
1571
1840
  .feed-search::placeholder { color: var(--text-tertiary); }
1572
1841
  .feed-search:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--focus-ring); }
1842
+ .feed-search.legacy-team-device-select,
1843
+ .feed-search.legacy-team-project-select {
1844
+ box-sizing: border-box;
1845
+ width: 100%;
1846
+ min-width: 0;
1847
+ max-width: 100%;
1848
+ }
1573
1849
 
1574
1850
  .feed-inspector-files {
1575
1851
  width: 100%;
@@ -2739,7 +3015,8 @@
2739
3015
  .sync-attention-target {
2740
3016
  animation: sync-attention-target var(--duration-attention) var(--ease-out);
2741
3017
  }
2742
- .settings-button:disabled {
3018
+ .settings-button:disabled,
3019
+ .settings-button[aria-disabled="true"] {
2743
3020
  opacity: 0.55;
2744
3021
  cursor: not-allowed;
2745
3022
  }
@@ -3716,6 +3993,9 @@
3716
3993
  .modal-card { padding: var(--sp-4); border-radius: var(--radius-lg); }
3717
3994
  .legacy-team-setup-dialog .modal-card { width: calc(100vw - 16px); }
3718
3995
  .legacy-team-setup-steps { grid-template-columns: 1fr; }
3996
+ .recipient-policy-sharing-team-setup-row { grid-template-columns: 1fr auto; }
3997
+ .recipient-policy-sharing-team-setup-label { grid-column: 1 / -1; }
3998
+ .recipient-policy-sharing-team-setup-separator { display: none; }
3719
3999
  }
3720
4000
 
3721
4001
  /* ──────────────────────────────────────────────────────────────────
@@ -4153,14 +4433,14 @@
4153
4433
  <!-- ── Tab: Advanced ───────────────────────────────────── -->
4154
4434
  <div class="tab-panel" id="tab-advanced" hidden>
4155
4435
  <div class="card">
4156
- <div class="section-header">
4436
+ <div class="section-header advanced-legacy-header">
4157
4437
  <div>
4158
4438
  <h2>Advanced</h2>
4159
- <div class="section-meta">Compatibility tools for device sync and Team administration.</div>
4439
+ <div class="section-meta">Device sync, legacy Team and Space setup, and coordinator administration.</div>
4160
4440
  </div>
4161
- <div class="section-actions" aria-label="Advanced sections">
4441
+ <div class="section-actions" aria-label="Advanced sections" role="group">
4162
4442
  <button class="settings-button" id="advancedSyncButton" type="button" aria-pressed="true">Sync</button>
4163
- <button class="settings-button" id="advancedTeamsButton" type="button" aria-pressed="false">Teams</button>
4443
+ <button class="settings-button" id="advancedTeamsButton" type="button" aria-pressed="false">Coordinator Administration</button>
4164
4444
  </div>
4165
4445
  </div>
4166
4446
  </div>
@@ -4315,15 +4595,28 @@
4315
4595
 
4316
4596
  <div id="advancedTeamsContent" hidden>
4317
4597
  <div class="card">
4598
+ <aside
4599
+ aria-labelledby="coordinatorAdminLegacyNoticeTitle"
4600
+ class="coordinator-admin-inline-warning coordinator-admin-legacy-notice"
4601
+ role="note"
4602
+ >
4603
+ <div class="coordinator-admin-legacy-notice-copy">
4604
+ <h3 id="coordinatorAdminLegacyNoticeTitle" tabindex="-1">Looking for Team settings?</h3>
4605
+ <div class="peer-submeta">
4606
+ Manage Team members, names, and Project access in Sharing. Use this page only for older coordinator groups and Spaces.
4607
+ </div>
4608
+ </div>
4609
+ <button class="settings-button" id="coordinatorAdminOpenSharing" type="button">Open Sharing</button>
4610
+ </aside>
4318
4611
  <details class="advanced-administration-disclosure" open>
4319
- <summary>Advanced Team administration</summary>
4320
- <div class="section-meta">Manage legacy enrollment, Spaces, device administration, and coordinator settings.</div>
4612
+ <summary>Coordinator Administration</summary>
4613
+ <div class="section-meta">Technical coordinator groups, Spaces, enrollment, and recovery controls.</div>
4321
4614
  <div id="coordinatorAdminMount"></div>
4322
4615
  </details>
4323
4616
  </div>
4324
4617
  </div>
4325
4618
  </div>
4326
4619
 
4327
- <script src="/assets/app.js"></script>
4620
+ <script src="/assets/app.js?v=ee66e789cdc7"></script>
4328
4621
  </body>
4329
4622
  </html>