/* Connection cards: identity → loaded data and access → actions. */
#srcListMp { grid-template-columns: repeat(auto-fit, minmax(min(100%, 490px), 1fr)); gap: 20px; align-items: stretch; }
#srcListMp .src-source {
  border: 1px solid rgba(255,255,255,.92); border-radius: 26px;
  background: rgba(255,255,255,.78); backdrop-filter: blur(20px);
  box-shadow: var(--ds-shadow-card), inset 0 1px 0 var(--ds-surface);
  font-family: var(--ds-font); transition: border-color 180ms ease, box-shadow 180ms ease;
  --src-number: var(--src-grad-to);
}
#srcListMp .src-source.ym { --src-number: var(--ds-amber); }
#srcListMp .src-source:hover { transform: none; border-color: var(--ds-line-strong); box-shadow: var(--ds-shadow-card); }
#srcListMp .src-source-head { padding: 24px 24px 20px; gap: 14px; align-items: center; min-height: 116px; box-sizing: border-box; }
#srcListMp .src-source-ico { width: 48px; height: 48px; border-radius: 15px; background: var(--src-grad-from); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); font: 800 16px/1 var(--ds-font); letter-spacing: -.02em; }
#srcListMp .src-source-name { font: 750 18px/1.3 var(--ds-font); letter-spacing: -.025em; overflow-wrap: anywhere; }
#srcListMp .src-source-meta { font: 500 12px/1.5 var(--ds-font); color: var(--ds-ink-secondary); }
#srcListMp .src-source-status { padding: 6px 9px; font: 600 11px/1.3 var(--ds-font); letter-spacing: 0; align-self: center; border-radius: 9px; background: var(--ds-surface-subtle); border: 0; gap: 6px; }
#srcListMp .src-source-status .dot { box-shadow: none; }
#srcListMp .src-source-status.syncing { color: var(--ds-accent); background: var(--ds-accent-soft); }
#srcListMp .src-source-content { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.35fr); flex: 1; padding: 0 24px 24px; gap: 24px; }
#srcListMp .src-review-meter { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 20px 0; gap: 12px; border: 0; background: transparent; min-width: 0; }
#srcListMp .src-review-eyebrow { font: 600 12px/1.5 var(--ds-font); color: var(--ds-ink-secondary); }
#srcListMp .src-review-number { display: flex; align-items: baseline; gap: 7px; color: var(--src-number); flex-wrap: wrap; }
#srcListMp .src-review-number strong { font: 800 44px/1.05 var(--ds-font); letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
#srcListMp .src-review-number > span { font: 650 14px/1.4 var(--ds-font); }
#srcListMp .src-review-copy { gap: 6px; }
#srcListMp .src-review-title { font: 650 13px/1.4 var(--ds-font); color: var(--ds-ink); letter-spacing: 0; }
#srcListMp .src-review-detail { font: 400 12px/1.55 var(--ds-font); color: var(--ds-ink-secondary); }
#srcListMp .src-review-detail b { color: var(--src-number); }
#srcListMp .src-review-track { width: 100%; height: 4px; background: var(--ds-line); border-radius: 4px; overflow: hidden; margin-top: 4px; }
#srcListMp .src-review-track > span { display: block; width: var(--meter-pct); height: 100%; background: var(--src-number); border-radius: inherit; }
#srcListMp .src-review-track.indeterminate > span { width: 35%; animation: srcLoadingTrack 1.8s ease-in-out infinite alternate; }
@keyframes srcLoadingTrack { to { transform: translateX(185%); } }
#srcListMp .src-capabilities { display: flex; flex-direction: column; gap: 0; padding: 16px; border: 1px solid var(--ds-line); border-radius: 18px; background: rgba(255,255,255,.72); }
#srcListMp .src-capabilities-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 10px; }
#srcListMp .src-capabilities-head > span { font: 600 11px/1.4 var(--ds-font); color: var(--ds-ink-secondary); }
#srcListMp .src-capability-refresh { min-height: 32px; padding: 4px 7px; width: auto; border: 0; border-radius: 8px; background: var(--ds-accent-soft); color: var(--ds-accent-strong); font: 650 11px/1.3 var(--ds-font); }
#srcListMp .src-capability { width: 100%; grid-template-columns: 22px minmax(0,1fr); gap: 10px; padding: 10px 0; align-items: start; border-top: 1px solid var(--ds-line); }
#srcListMp .src-capability:last-child { padding-bottom: 0; }
#srcListMp .src-capability-icon { width: 22px; height: 22px; border-radius: 7px; border: 0; }
#srcListMp .src-capability-icon svg { width: 14px; height: 14px; stroke-width: 1.7; }
#srcListMp .src-capability-copy { gap: 3px; }
#srcListMp .src-capability-label { font: 650 13px/1.5 var(--ds-font); letter-spacing: 0; }
#srcListMp .src-capability-detail { font: 400 12px/1.45 var(--ds-font); color: var(--ds-ink-secondary); overflow-wrap: anywhere; }
#srcListMp .src-source-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 24px; background: rgba(255,255,255,.65); border-top: 1px solid var(--ds-line); }
#srcListMp .src-source-auto { display: flex; align-items: center; gap: 10px; font: 550 12px/1.4 var(--ds-font); color: var(--ds-ink-secondary); }
#srcListMp .src-source-auto .set-switch { flex-shrink: 0; }
#srcListMp .src-source-auto .set-switch.on::before { background: var(--ds-accent); }
#srcListMp .src-source-actions { align-self: center; gap: 8px; }
#srcListMp .src-source-actions button { width: 36px; height: 36px; background: var(--ds-surface); border: 1px solid var(--ds-line); border-radius: 11px; }
#srcListMp .src-source-actions button.src-source-sync { width: auto; padding: 0 12px; gap: 8px; color: var(--ds-accent-strong); font: 650 12px/1.4 var(--ds-font); }
#srcListMp .src-source-actions svg { width: 16px; height: 16px; }
#srcListMp button:focus-visible { outline: 2px solid var(--ds-ink-secondary); outline-offset: 2px; }
@media (max-width: 600px) {
  #srcListMp .src-source-head { padding: 20px 16px; flex-wrap: wrap; gap: 12px; }
  #srcListMp .src-source-name { font-size: 16px; }
  #srcListMp .src-source-status { margin-left: 60px; }
  #srcListMp .src-source-content { grid-template-columns: 1fr; padding: 0 16px 16px; gap: 16px; }
  #srcListMp .src-review-meter { padding: 0; }
  #srcListMp .src-review-number strong { font-size: 38px; }
  #srcListMp .src-source-toolbar { padding: 12px 16px; flex-wrap: wrap; }
  #srcListMp .src-source-actions button { min-height: 44px; }
  #srcListMp .src-capability-refresh { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { #srcListMp .src-source { transition: none; } #srcListMp .src-review-track.indeterminate > span { animation: none; } }
