.dictionary-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem 2rem; padding-left: 1.25rem; }
.dictionary-index li { break-inside: avoid; margin: 0; }
.dictionary-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1.25rem; }
.dictionary-meta dt { font-weight: 600; }
.dictionary-meta dd { margin: 0; overflow-wrap: anywhere; }
.dictionary-table { table-layout: fixed; min-width: 740px; }
.dictionary-table th:first-child { width: 19%; }
.dictionary-table th:nth-child(2) { width: 18%; }
.dictionary-table th:nth-child(3) { width: 14%; }
.dictionary-table th:nth-child(4) { width: 28%; }
.dictionary-table td, .dictionary-table th { overflow-wrap: anywhere; vertical-align: top; }
.dictionary-table tr:target { outline: 3px solid var(--primary); outline-offset: -3px; }
.dictionary section { scroll-margin-top: 1rem; }
.dictionary-print-title { display: none; }
.dictionary-phone-type { display: none; }
.dictionary-return a { display: inline-flex; align-items: center; min-height: 44px; }
@media screen and (max-width: 600px) { .dictionary-index { grid-template-columns: minmax(0, 1fr); } .dictionary-meta { grid-template-columns: minmax(0, 1fr); } }

/* Match the site's labelled phone-table cards so every definition remains visible without a
   sideways scroll.  The 800px breakpoint also covers narrow tablets. */
@media screen and (max-width: 800px) {
  .dictionary .table-scroll { overflow: visible; }
  .dictionary .table-scroll table.dictionary-table.stack { min-width: 0; }
  .dictionary-table.stack caption { display: block; width: 100%; }
  .dictionary-table.stack, .dictionary-table.stack tbody,
  .dictionary-table.stack tr { display: block; width: 100%; min-width: 0; }
  .dictionary-table.stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .dictionary-table.stack thead tr, .dictionary-table.stack thead th { display: block; width: 1px; padding: 0; border: 0; }
  .dictionary-table.stack tr { margin: 0 0 12px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
  .dictionary-table.stack tbody th, .dictionary-table.stack tbody td { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: 10px; width: 100%; min-width: 0; padding: 7px 0; border-bottom: 1px solid var(--line); text-align: left; overflow-wrap: anywhere; vertical-align: top; }
  .dictionary-table.stack tbody th::before, .dictionary-table.stack tbody td::before { content: attr(data-label); color: var(--muted); font-weight: 400; font-size: .85rem; }
  .dictionary-table.stack tbody tr > :last-child { border-bottom: 0; }
  .dictionary-table.stack tbody th.dictionary-field-heading,
  .dictionary-table.stack tbody td[data-label="API field"] { display: block; border-bottom: 0; }
  .dictionary-table.stack tbody th.dictionary-field-heading::before,
  .dictionary-table.stack tbody td[data-label="API field"]::before { content: none; }
  .dictionary-table.stack tbody th.dictionary-field-heading { font-size: 1.05rem; font-weight: 600; padding-bottom: 0; }
  .dictionary-table.stack .dictionary-field-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .75rem; font-size: .85rem; }
  .dictionary-table.stack .dictionary-phone-type { display: inline; color: var(--muted); }
  .dictionary-table.stack tbody td.dictionary-field-type { display: none; }
}
@media print {
  .dictionary-phone-type, .dictionary-return { display: none; }
  .dictionary-table.stack caption { display: table-caption; }
  .dictionary-table.stack, .dictionary-table.stack tbody { display: table; width: 100%; min-width: 0; }
  .dictionary-table.stack tbody { display: table-row-group; }
  .dictionary-table.stack tbody tr { display: table-row; width: auto; margin: 0; padding: 0; border: 0; background: none; }
  .dictionary-table.stack tbody th, .dictionary-table.stack tbody td { display: table-cell; width: auto; padding: .45rem .55rem; border-bottom: 1px solid var(--line); }
  .dictionary-table.stack thead { display: table-header-group; position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .dictionary-table.stack thead tr, .dictionary-table.stack thead th { display: table-row; width: auto; padding: .45rem .55rem; border: 0; }
  .dictionary-table.stack thead th { display: table-cell; }
  .dictionary-table.stack .dictionary-print-title { display: table-row; }
  .dictionary-table.stack tbody th::before, .dictionary-table.stack tbody td::before { display: none; }
  .dictionary-table.stack tr { break-inside: avoid; }
  .dictionary-table.stack caption { break-after: avoid; }
}
@media screen and (max-width: 767.98px) {
  .dictionary > p:first-of-type a, .dictionary-index a, .dictionary .dataset-links a, .dictionary-table.stack tbody th a {
    display: inline-flex; align-items: center; min-height: 44px;
  }
}

/* Print: every Data Center page keeps the same inset as the issuer, bond and grid pages' named pages
   (.4in), so index pages never print flush to the paper's edge (g22 P3). */
@page { margin: .4in; }
