.source-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.source-item { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; }
.source-item p { margin: 5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.source-item .status { white-space: nowrap; }
.source-item .status.api_option_missing { background: #f4dfd8; color: var(--danger); }
.source-item .status.credentials_required,
.source-item .status.subscription_required,
.source-item .status.implementation_required,
.source-item .status.enterprise_access { background: #f8e7c6; color: #6c4b13; }
.user-identity strong,
.user-identity small { display: block; }
.user-identity small { margin-top: 4px; color: var(--muted); overflow-wrap: anywhere; }
.admin-role-select { min-width: 125px; padding: 8px 9px; }
.admin-user-actions { white-space: nowrap; }

@media (max-width: 560px) {
  .source-list { grid-template-columns: 1fr; }
  .source-item { grid-template-columns: 1fr; }
  .source-item .status { justify-self: start; }
}
