.asset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
  gap: 18px;
  padding: 22px;
}

.asset-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.asset-preview {
  height: 220px;
  margin: 0;
  background: #eef1ef;
  display: grid;
  place-items: center;
  position: relative;
  color: var(--muted);
}

.asset-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: white;
}

.asset-card-body { padding: 17px; display: grid; gap: 12px; }
.asset-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.asset-card-head strong { font-size: 17px; }
.asset-card-body p { margin: 0; color: var(--muted); }
.asset-meta { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 7px 10px; margin: 0; }
.asset-meta dt { color: var(--muted); }
.asset-meta dd { margin: 0; min-width: 0; }
.asset-meta .sha { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-id { white-space: nowrap; }
.view > .panel-head h2 { margin-bottom: 2px; }
nav button { cursor: pointer; }
.status.sync-healthy { background: #e7f6c9; color: #496918; }
.status.sync-degraded,
.status.sync-configured { background: #fff3e2; color: var(--amber); }
.status.sync-offline { background: #fbe9e7; color: var(--red); }
#view-sync td { vertical-align: top; }
#view-sync small { color: var(--muted); }

@media (max-width: 850px) {
  .asset-grid { grid-template-columns: 1fr; padding: 14px; }
}
