.annotation-popover {
  position: fixed;
  inset: auto;
  margin: 0;
  z-index: 1060;
  inline-size: min(28rem, calc(100vw - 1rem));
  max-block-size: calc(100dvh - 1rem);
  overflow: auto;
  padding: var(--space-lg);
  color: var(--text-primary);
  background: var(--surface);
  border: 1px solid var(--text-muted-custom);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}
.annotation-popover[hidden], .registry-sidebar[hidden], .registry-content [hidden] { display: none; }
.annotation-popover h2, .registry-sidebar h2 { font-size: 1.125rem; margin: 0; }
.annotation-popover h3, .registry-sidebar h3 { font-size: 1rem; }
.annotation-popover .viewer-dialog__header, .registry-sidebar .viewer-dialog__header { margin-block-end: var(--space-md); }
.annotation-popover blockquote { font-family: var(--font-source); overflow-wrap: anywhere; margin-block-end: var(--space-sm); max-block-size: 4.5em; overflow: auto; }
.annotation-field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-md); }
#mention-new-entry { justify-self: start; }
#mention-form { gap: var(--space-sm); }
#mention-form details summary { padding-block: 0; }
.annotation-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
#annotation-selection-toolbar { display: flex; flex-wrap: wrap; gap: var(--space-xs); padding-block: var(--space-xs); }
#annotation-selection-toolbar[hidden] { display: none; }
#annotation-selection-toolbar button { min-block-size: 2.75rem; }
#annotation-workspace-title { overflow-wrap: anywhere; font-family: var(--font-source); }
#annotation-source-location { color: var(--text-secondary); font-size: var(--text-sm); margin-block-end: var(--space-sm); }
#mention-inline-entry h3 { margin-block: var(--space-sm); }
#mention-entry-summary:empty { display: none; }
.registry-sidebar { min-inline-size: 0; padding: var(--space-lg); background: var(--surface); overflow: auto; border-inline-start: 1px solid var(--border-custom); }
.viewer-page .viewer-layout--registry { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(17rem, 22rem); }
.registry-content, .registry-content form, #mention-entry-fields, #mention-date-fields, #mention-date-range { display: grid; gap: var(--space-md); }
.registry-content label { display: grid; gap: var(--space-xs); }
.registry-content :is(input, select, textarea) { inline-size: 100%; min-inline-size: 0; min-block-size: 2.25rem; font: inherit; border: 1px solid var(--text-muted-custom); border-radius: var(--radius-sm); padding: var(--space-xs); color: var(--text-primary); background: var(--surface); }
.registry-content fieldset { border: 0; padding: 0; min-inline-size: 0; }
.registry-content legend { float: none; font-size: 1rem; }
.registry-content .registry-checkbox { display: flex; align-items: center; gap: var(--space-sm); }
.registry-checkbox input { inline-size: 1.25rem; min-block-size: 1.25rem; }
#registry-results { display: grid; gap: var(--space-sm); max-block-size: 14rem; overflow: auto; }
#registry-results button { text-align: start; overflow-wrap: anywhere; }
#registry-mentions > div, #registry-unresolved details > div { margin-block: var(--space-sm); overflow-wrap: anywhere; }
.registry-content [role="status"] { margin: 0; overflow-wrap: anywhere; }
.registry-content [role="status"]:empty { display: none; }
.annotation-history pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--text-sm); }
.registry-mention { text-decoration: underline; text-decoration-style: double; text-decoration-color: var(--accent); cursor: pointer; }
.registry-mention[data-kind="person"], #annotation-selection-toolbar [data-kind="person"] { color: var(--ent-person); background: var(--ent-person-bg); }
.registry-mention[data-kind="term"], #annotation-selection-toolbar [data-kind="term"] { color: var(--ent-object); background: var(--ent-object-bg); }
.registry-mention[data-kind="place"], #annotation-selection-toolbar [data-kind="place"] { color: var(--ent-place); background: var(--ent-place-bg); }
.registry-mention[data-kind="date"], #annotation-selection-toolbar [data-kind="date"] { color: var(--ent-time); background: var(--ent-time-bg); }
.registry-mention:focus-visible, .entity:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.page-provenance { padding-inline: var(--space-md); padding-block: var(--space-xs); font-size: var(--text-xs); color: var(--text-secondary); overflow-wrap: anywhere; }
.page-provenance:empty { display: none; }
.viewer-page[data-view="tei"] #page-provenance, .viewer-page[data-view="reading"] #page-provenance { display: none; }
@media (max-width: 1200px) {
  .viewer-page .viewer-layout--registry { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .registry-sidebar { grid-column: 1 / -1; max-block-size: 50vh; border-inline-start: 0; }
}
@media (max-width: 991.98px) {
  .viewer-page .viewer-layout--registry { grid-template-columns: minmax(0, 1fr); }
  .registry-sidebar { max-block-size: none; }
}
@media (max-width: 400px) {
  .annotation-field-row { grid-template-columns: minmax(0, 1fr); }
}
