/* Test with sample records: what a first sync would do, per record type and direction. */

.sync-test-wait { display: flex; align-items: center; gap: 12px; }
.sync-test-wait p { margin: 0; font-size: var(--fs-s); color: var(--ink-4); }
.sync-test-spin { display: inline-grid; place-items: center; flex: none; width: 22px; height: 22px; color: var(--brand-text); animation: sync-test-spin 1s linear infinite; }
.sync-test-spin svg { width: 20px; height: 20px; }
@keyframes sync-test-spin { to { transform: rotate(360deg); } }

.sync-test-counts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
.sync-test-counts div { min-width: 0; padding: 8px 10px; border-radius: var(--r-l); background: var(--panel-2); }
.sync-test-counts b { display: block; font-size: 18px; font-weight: 600; }
.sync-test-counts span { display: block; font-size: var(--fs-xs); color: var(--ink-4); }
.sync-test-counts [data-tone="ok"] b { color: var(--ok); }
.sync-test-counts [data-tone="warn"] b { color: var(--warn); }
.sync-test-counts [data-tone="bad"] b { color: var(--bad); }

.sync-test-leg .note { margin: 8px 0 0; }
.sync-test-sample { margin-top: 8px; border: 1px solid var(--line); border-radius: var(--r-l); }
.sync-test-sample summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 8px 12px; font-size: var(--fs-s); cursor: pointer; }
.sync-test-sample dl { display: grid; gap: 6px; margin: 0; padding: 4px 12px 12px; }
.sync-test-sample dl div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 10px; }
.sync-test-sample dt { font-size: var(--fs-xs); color: var(--ink-4); }
.sync-test-sample dd { margin: 0; font-size: var(--fs-s); overflow-wrap: anywhere; }

.btn.test-run { border-color: transparent; background: color-mix(in srgb, var(--brand-text) 12%, var(--paper)); color: var(--brand-text); }
.btn.test-run:hover { background: color-mix(in srgb, var(--brand-text) 18%, var(--paper)); }

.agent-test-meter { height: 8px; margin: 6px 0 10px; border-radius: 999px; background: var(--panel-3); overflow: hidden; }
.agent-test-meter span { display: block; height: 100%; border-radius: inherit; background: var(--brand-text); }
.agent-test-meter.full span { background: var(--warn); }
.agent-test-type > h3, .sync-test-leg > h3 { margin-bottom: 8px; }
.sync-test-leg > .hint { margin: 0 0 12px; }
.sync-test-leg .panel-list { margin-top: 10px; }

.sync-test-page { max-width: 760px; margin: 0 auto; }
.sync-test-page .card-body { display: grid; gap: 10px; }

@media (max-width: 680px) {
  .sync-test-counts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
