/* Quiet controls shared by ledgers, directories and mobile record lists. */
.record-tools { padding: 16px; color: var(--text); font: 400 14px/1.5 var(--vk-sans); min-width: 0; }
.record-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.record-controls label { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.record-controls label>span { color: var(--muted); font-size: 12px; font-weight: 600; }
.record-search { flex: 1 1 240px; }
.record-sort { flex: 0 1 220px; }
.record-controls :is(input,select,button) { box-sizing: border-box; min-height: 44px; max-width: 100%; margin: 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--card); font: inherit; letter-spacing: normal; text-transform: none; box-shadow: none; }
.record-controls input { width: 100%; background: var(--surface-1,var(--card)); }
.record-controls input::placeholder { color: var(--muted); opacity: 1; }
.record-controls :is(button,select) { cursor: pointer; }
.record-controls button:hover:not(:disabled) { background: var(--card-highlight,var(--surface-1)); }
.record-controls button:disabled { cursor: default; opacity: .5; }
.record-meta { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 20px; margin-top: 8px; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.record-help { max-width: 62ch; }
.record-help summary { cursor: pointer; padding-block: 8px; min-height: 32px; }
.record-help p { margin: 4px 0 8px; line-height: 1.6; }
.record-selection { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 8px; color: var(--text); font-size: 12px; }
.record-selection[hidden] { display: none; }
.record-selection button { min-height: 44px; padding: 8px; background: transparent; border: 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
.record-heading { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; min-height: 44px; border: 0; color: inherit; background: transparent; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: inherit; cursor: pointer; }
.record-heading:hover { color: var(--workspace-focus,var(--text)); }
.record-sort-icon { flex: none; color: var(--muted); }
th[aria-sort] .record-sort-icon { color: var(--workspace-focus,var(--text)); }
.record-no-results { margin: 0; padding: 24px 16px; color: var(--muted); font: 400 14px/1.6 var(--vk-sans); }
[data-records-ready] [hidden],.record-no-results[hidden] { display: none !important; }
:is(.record-controls,.record-help,.record-selection) :is(input,select,button,summary):focus-visible,.record-heading:focus-visible { outline: 2px solid var(--workspace-focus,var(--text)); outline-offset: 3px; }
@media (max-width: 600px) {
  .record-controls { gap: 8px; }
  .record-search { flex-basis: 100%; }
  .record-sort { flex: 1 1 160px; }
  .record-controls :is(input,select) { font-size: 16px; }
  .record-meta { flex-direction: column; gap: 0; }
}
@media print { .record-tools,.record-no-results,.record-sort-icon { display: none !important; } .record-heading { padding: 0; min-height: 0; } }
