.reference-margins button, .reference-margins input, .reference-margins select { font: inherit; color: var(--text); background: var(--bg-2); border: 1px solid var(--border); border-radius: 4px; padding: 7px 10px; margin: 3px; }
.reference-margins { margin: 18px 0; padding: 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-card); color: var(--text); }
.reference-margins summary { cursor: pointer; font-weight: 700; }
.reference-margins .rm-scroll { overflow-x: auto; max-height: 65vh; }
.reference-margins table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.reference-margins th, .reference-margins td { padding: 9px; border-bottom: 1px solid var(--border); text-align: left; white-space: nowrap; }
.reference-margins th { position: sticky; top: 0; background: var(--bg-card); }
.reference-margins small { display: block; color: var(--text-3); white-space: normal; min-width: 10rem; }
.reference-margins .rm-note { color: var(--text-2); line-height: 1.5; }
.reference-margins .rm-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 12px 0; }
.reference-margins .rm-summary { margin: 10px 0; }
.gallery-group-roles { display: block; margin: 6px; font-size: .8rem; }
.gallery-member-controls { border-top: 1px solid var(--border); margin-top: 6px; padding-top: 6px; }
.gallery-member-controls button { position: static; display: inline-block; }
.reference-margins { min-width: 0; max-width: 100%; }
.reference-margins .rm-toolbar input, .reference-margins .rm-toolbar select { width: auto; min-width: 9rem; max-width: 100%; flex: 0 1 auto; }
.reference-margins .rm-toolbar input[name="search"] { flex: 1 1 14rem; }
.reference-margins .rm-scroll { max-width: 100%; }
body:has([data-reference-margins]) main { min-width: 0; }
