.visit-details-fields {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 0.6rem;
  background: #f5f7fa;
}
.visit-details-fields legend { padding-inline: 0.3rem; font-size: 0.8rem; font-weight: 600; }
.visit-details-fields .field-hint { margin: 0; font-size: 0.75rem; line-height: 1.5; }
.visit-details-fields textarea { min-height: 4rem; }
.visit-details { display: grid; gap: 0.9rem; margin: 1rem 0 0; font-size: 0.85rem; line-height: 1.6; }
.visit-details dt { color: var(--signal); font-size: 0.7rem; font-weight: 700; }
.visit-details dd { margin: 0.2rem 0 0; white-space: pre-line; overflow-wrap: anywhere; }
.visit-details a { display: inline-block; padding-block: 0.45rem; }
.public-place-details { min-width: 0; }
.public-place-details > summary { list-style: none; padding-block: 0.3rem; cursor: pointer; }
.public-place-details > summary::-webkit-details-marker { display: none; }
.public-place-details__prompt { display: flex; justify-content: space-between; gap: 0.5rem; color: var(--accent); font-size: 0.75rem; }
.public-place-details__prompt::after { content: "+"; font-size: 1rem; }
.public-place-details[open] .public-place-details__prompt::after { content: "-"; }
.public-place-details[open] > summary { margin-bottom: 1rem; border-bottom: 1px solid var(--line); padding-bottom: 0.8rem; }
.public-place-details .public-place-card__note { white-space: pre-line; }
@media print {
  .public-place-details::details-content { content-visibility: visible; }
}
