.hosts-card {
  width: 100%;
}

.host-remark-cell {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.host-remark {
  font-weight: 500;
}

.host-desc {
  font-size: 0.82em;
  color: var(--ant-color-text-secondary);
}

.host-endpoint {
  font-family: var(--font-mono, monospace);
  font-size: 0.92em;
}

.host-muted {
  color: var(--ant-color-text-quaternary);
}

/* card-toolbar is shared with the Clients/Inbounds list cards, but its rules
   live in a lazily-loaded page stylesheet — re-declare here so the Hosts page
   renders correctly when opened directly. */
.hosts-card .card-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 6px 0;
}

@media (min-width: 769px) and (max-width: 920px) {
  .hosts-card .card-toolbar {
    gap: 6px;
  }
}

/* Empty-table state. The shared .card-empty rule otherwise lives only in the
   lazily-loaded Clients/Inbounds/Nodes stylesheets, so a direct /hosts refresh
   would render it unstyled (faint + uncentered) until another page is visited.
   Re-declare it here so it's correct on first load. */
.card-empty {
  text-align: center;
  color: var(--ant-color-text-secondary);
  padding: 24px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
