/* Homepage record browser; the existing Ledger tokens are authoritative. */
.data-browser {
  --record-gap: 12px;
  --record-rule: var(--line);
}
.data-browser [hidden] { display: none !important; }
html:not([lang=en]) .data-browser [data-growth-lang=en],
html[lang=en] .data-browser [data-growth-lang=zh] { display: none !important; }
.data-browser .wrap { max-width: 1140px; padding: 24px 24px 40px; }
.data-browser .topbar { margin: 0 0 20px; padding-bottom: 16px; }
.data-browser #titleMain { font-size: 24px !important; line-height: 1.2 !important; }
.data-browser .dataset-subtitle { margin-top: 4px; font-weight: 500 !important; }
.data-browser .info-nav { gap: 4px !important; }
.data-browser .info-nav > a { padding: 8px; text-decoration: none; font-weight: 500; }
.data-browser .info-nav > a[aria-current=page] { font-weight: 700; border-bottom: 2px solid var(--accent); }
.data-browser .info-nav > a:hover { text-decoration: underline; text-underline-offset: 5px; }
.data-skip { position: fixed; z-index: 40; top: 12px; left: 12px; padding: 12px 16px; background: var(--surface); border: 2px solid var(--accent); transform: translateY(-160%); }
.data-skip:focus { transform: none; }
.data-browser #record-search { border: 0 !important; padding: 0; background: transparent !important; }
.data-browser .panel-head { display: none; }
.data-browser .controls { grid-template-columns: minmax(220px, 1.6fr) 120px minmax(501px, 3fr) 88px; gap: var(--record-gap); align-items: end; }
.data-browser .controls-primary { display: contents; }
.data-browser .record-filters { grid-column: 3; grid-row: 1; }
.data-browser .record-filters > summary { display: none; }
.data-browser .controls-secondary { display: grid; grid-template-columns: minmax(145px, 1fr) minmax(150px, 1.15fr) 182px; gap: var(--record-gap); }
.data-browser .control-group { gap: 6px; }
.data-browser .control-group.query { grid-column: 1; grid-row: 1; }
.data-browser .ux-match-mode { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin: 0; width: auto; font-size: 12px; font-weight: 600; line-height: 1.2; color: var(--muted); white-space: nowrap; }
.data-browser .controls-secondary .control-group:nth-child(1) { grid-column: 1; grid-row: 1; }
.data-browser .controls-secondary .control-group:nth-child(2) { grid-column: 2; grid-row: 1; }
.data-browser .controls-secondary .control-group:nth-child(3) { grid-column: 3; grid-row: 1; }
.data-browser .control-actions { grid-column: 4; grid-row: 1; display: block; }
.data-browser .control-label { color: var(--muted) !important; font-size: 12px !important; font-weight: 600 !important; }
.data-browser #q, .data-browser .controls select, .data-browser #reset { min-height: 44px; height: 44px; padding: 8px 10px; font-size: 14px; }
.data-browser #q { font-size: 16px; }
.data-browser .ux-match-mode select { max-width: 100%; font-weight: 400; }
.data-browser #reset { width: 100%; color: var(--muted) !important; background: transparent !important; border-color: var(--line) !important; font-weight: 500; }
.data-browser .search-assist { margin-top: 8px; justify-content: flex-start; }
.data-browser .search-history { justify-content: flex-start; }
.data-browser .search-history-chip, .data-browser .search-history-clear { min-height: 36px; padding: 6px 10px; }
.data-browser .record-pane { min-width: 0; margin-top: 24px; }
.data-browser .ux-secondary { margin: 20px 0 12px; }
.data-browser .ux-secondary > summary { padding-block: 6px; min-height: 36px; color: var(--muted); font-size: 12px; font-weight: 500; }
.data-browser .results-meta-wrap { margin-top: 0; }
.data-browser .records-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.data-browser .records-heading > h2 { font-size: 20px; line-height: 1.3; margin: 0; font-weight: 700 !important; }
.data-browser .records-heading:has(.results-context:not([hidden])) > h2 { display: none; }
.data-browser .records-heading .results-context { flex: 1; margin: 0; padding: 0; border: 0 !important; background: transparent !important; }
.data-browser .results-context-main { flex-basis: auto; }
.data-browser .results-context-title { font-size: 20px; margin: 0; line-height: 1.3; }
.data-browser .results-context-title { overflow-wrap: anywhere; }
.data-browser .results-context-kicker, .data-browser .results-context-side, .data-browser .results-context-subtitle { display: none; }
.data-browser .meta-chip { border: 0 !important; background: transparent !important; padding: 0; min-height: 0; font-size: 13px; line-height: 1.5; }
.data-browser #updatedAt { font-size: 12px; color: var(--muted); white-space: nowrap; }
.data-browser .record-status-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.data-browser .results-meta-strip { gap: 8px 20px; }
.data-browser #status { color: var(--muted); }
.data-browser .table-wrap { border: 0 !important; border-top: 2px solid var(--ink) !important; border-radius: 0 !important; margin-top: 0; background: var(--surface) !important; overflow: visible; }
.data-browser #resultsTable { min-width: 0 !important; }
.data-browser #resultsTable thead { position: sticky; top: 0; z-index: 4; }
.data-browser #resultsTable #thDouble, .data-browser #resultsTable .col-double { display: none !important; }
.data-browser .table-wrap.mode-dataset #resultsTable .col-category,
.data-browser .table-wrap.mode-issue #resultsTable .col-category,
.data-browser .table-wrap.mode-issue #resultsTable .col-date { display: none !important; }
.data-browser #resultsTable thead tr, .data-browser #resultsTable tbody tr { grid-template-columns: minmax(200px, 1.4fr) minmax(160px, 1.05fr) minmax(145px, 1fr) minmax(145px, 1fr) 164px; }
.data-browser .table-wrap.mode-dataset #resultsTable thead tr, .data-browser .table-wrap.mode-dataset #resultsTable tbody tr { grid-template-columns: minmax(220px, 1.6fr) minmax(160px, 1.1fr) minmax(145px, 1fr) 164px; }
.data-browser .table-wrap.mode-issue #resultsTable thead tr, .data-browser .table-wrap.mode-issue #resultsTable tbody tr { grid-template-columns: minmax(220px, 1.8fr) minmax(160px, 1.1fr) 164px; }
.data-browser #resultsTable th { background: var(--surface-muted) !important; color: var(--muted) !important; font-size: 12px !important; font-weight: 600 !important; text-transform: none; min-height: 40px; }
.data-browser #resultsTable th, .data-browser #resultsTable td { padding: 10px 12px !important; }
.data-browser #resultsTable td { min-height: 64px; }
.data-browser #resultsTable tbody tr:hover td { background: var(--surface-muted) !important; }
.data-browser #resultsTable .plate-layouts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.data-browser #resultsTable .col-single > a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.data-browser #resultsTable .col-single > a:hover .plate { background: var(--accent-soft) !important; }
.data-browser #resultsTable .plate { font-size: 18px; min-width: 88px; min-height: 36px; padding: 5px 10px; }
.data-browser #resultsTable .plate.double { font-size: 15px; min-width: 56px; min-height: 48px; }
.data-browser #resultsTable .col-price { font-family: inherit !important; }
.data-browser #resultsTable .price-value { color: var(--ink) !important; font-family: inherit !important; font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.2; }
.data-browser #resultsTable .price.na { font-size: 14px; }
.data-browser #resultsTable .col-price { flex-wrap: wrap; gap: 6px; }
.data-browser #resultsTable .col-date .cell-main { font-size: 13px; font-weight: 500; white-space: normal; }
.data-browser #resultsTable .category-pill { border: 0 !important; background: transparent !important; padding: 0; font-size: 12px; line-height: 1.4; font-weight: 400; }
.data-browser #resultsTable .icon-btn { min-width: 44px !important; min-height: 44px !important; width: 44px !important; height: 44px !important; border-color: var(--line) !important; }
.data-browser #resultsTable a.icon-btn { width: auto !important; gap: 6px; padding: 0 8px; text-decoration: none; }
.data-browser #resultsTable .source-label { font-size: 12px; font-weight: 500; }
.data-browser #resultsTable .row-actions { gap: 8px; flex-wrap: wrap; }
.data-browser .footer-nav { margin: 0; gap: 6px; flex: 0 0 auto; }
.data-browser .footer-info { display: none; }
.data-browser .footer-nav button { min-height: 36px; padding: 6px 10px; font-size: 12px; font-weight: 500; background: var(--surface) !important; color: var(--ink) !important; border-color: var(--line) !important; }
.data-browser #bottomPrev, .data-browser #bottomNext { min-width: 40px; min-height: 40px; padding: 0; font-size: 20px; background: var(--surface) !important; color: var(--ink) !important; border-color: var(--line) !important; }
.data-browser #resultsTable .record-sort { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 0; min-height: 24px; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: inherit !important; font: inherit; font-weight: 600; text-align: inherit; }
.data-browser #resultsTable .record-sort:hover { text-decoration: underline; }
.data-browser .meta-footnote { margin-top: 20px; font-size: 12px; line-height: 1.6; }
.data-browser .policy-links { padding-top: 12px; }
.data-browser :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.data-browser .share-loading { padding: 36px 16px; background: var(--surface-muted); color: var(--muted); text-align: center; }

@media (min-width: 1101px) {
  .data-browser .topbar:has(.ux-task-nav) { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 20px; }
  .data-browser .ux-task-nav { grid-column: 2; grid-row: 1; }
  .data-browser .top-actions { grid-column: 3; grid-row: 1; }
  html[lang=en] .data-browser #titleMain { max-width: 28ch; font-size: 20px !important; }
}
@media (max-width: 1100px) {
  .data-browser .controls { grid-template-columns: minmax(0, 1fr) 150px 100px; }
  .data-browser .control-group.query { grid-column: 1; }
  .data-browser .ux-match-mode { grid-column: 2; }
  .data-browser .control-actions { grid-column: 3; }
  .data-browser .record-filters { grid-column: 1 / -1; grid-row: 2; }
  .data-browser .controls-secondary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .data-browser .table-wrap { background: transparent !important; overflow: visible; }
  .data-browser #resultsTable, .data-browser #resultsTable tbody { display: block; width: 100%; }
  .data-browser #resultsTable thead { display: none; }
  .data-browser #resultsTable tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) !important; grid-template-areas: 'single price' 'date source' 'category source'; gap: 4px 12px; padding: 16px 0; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; overflow: visible; }
  .data-browser .table-wrap.mode-issue #resultsTable tbody tr { grid-template-areas: 'single price' 'source source'; }
  .data-browser #resultsTable td { display: block; width: auto !important; min-height: 0; min-width: 0; padding: 0 !important; border: 0 !important; background: transparent !important; }
  .data-browser #resultsTable td::before { display: none; }
  .data-browser #resultsTable .col-single { grid-area: single; align-self: center; }
  .data-browser #resultsTable .col-price { grid-area: price; text-align: right; align-self: center; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; background: transparent !important; border-radius: 0; }
  .data-browser #resultsTable .col-date { grid-area: date; align-self: end; padding: 0 !important; border: 0 !important; }
  .data-browser #resultsTable .col-category { grid-area: category; align-self: start; }
  .data-browser #resultsTable .col-source { grid-area: source; align-self: center; }
  .data-browser #resultsTable .plate { width: auto !important; min-width: 76px; max-width: 100%; font-size: 17px; }
  .data-browser #resultsTable .plate.double { font-size: 14px; min-width: 48px; }
  .data-browser #resultsTable .price-value { font-size: 20px; }
  .data-browser #resultsTable .col-date .cell-main { font-size: 13px; min-height: 28px; padding-block: 4px; }
  .data-browser #resultsTable .category-pill { font-size: 11px; }
  .data-browser #resultsTable .empty-row { display: block; }
  .data-browser #resultsTable .empty-row td { display: block; }
  .data-browser .records-heading { align-items: start; }
  .data-browser #updatedAt { white-space: normal; text-align: right; max-width: 44%; }
}
@media (max-width: 760px) {
  .data-browser .wrap { padding: 16px 16px 32px; }
  .data-browser .topbar { margin-bottom: 16px; padding-bottom: 8px !important; }
  .data-browser .info-nav { gap: 0 !important; }
  .data-browser .info-nav > a, .data-browser .info-nav summary { padding-inline: 4px; font-size: 11px; }
  .data-browser .ux-task-nav { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) 44px; width: 100%; }
  .data-browser .ux-task-nav > a { min-width: 0; white-space: normal; text-align: center; line-height: 1.25; }
  .data-browser .controls { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .data-browser .control-group.query { display: contents; }
  .data-browser #queryLabel { grid-column: 1 / -1; grid-row: 1; }
  .data-browser #q { grid-column: 1 / -1; grid-row: 2; }
  .data-browser .ux-match-mode { grid-column: 1 / 4; grid-row: 3; flex-direction: row; align-items: center; gap: 8px; }
  .data-browser .ux-match-mode select { flex: 1; width: auto; min-width: 0; }
  .data-browser .control-actions { grid-column: 4; grid-row: 3; }
  .data-browser .record-filters { grid-column: 1 / -1; grid-row: 4; }
  .data-browser .record-filters > summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; min-height: 44px; border-block: 1px solid var(--line); font-size: 13px; font-weight: 600; }
  .data-browser .record-filters > summary::-webkit-details-marker { display: none; }
  .data-browser #filterScope { color: var(--muted); font-size: 12px; font-weight: 400; min-width: 0; line-height: 1.5; }
  .data-browser .filter-chevron { margin-left: auto; font-size: 18px; }
  .data-browser .record-filters[open] .filter-chevron { transform: rotate(180deg); }
  .data-browser .controls-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 12px; }
  .data-browser .controls-secondary .control-group:nth-child(1) { grid-column: 1; grid-row: 1; }
  .data-browser .controls-secondary .control-group:nth-child(2) { grid-column: 2; grid-row: 1; }
  .data-browser .controls-secondary .control-group:nth-child(3) { grid-column: 1 / -1; grid-row: 2; }
  .data-browser .records-heading > h2, .data-browser .results-context-title { font-size: 18px; }
  .data-browser .results-meta-wrap { margin-top: 12px; }
  .data-browser .meta-chip { font-size: 12px; }
  .data-browser #updatedAt { font-size: 11px; }
  .data-browser .ux-secondary > summary { min-height: 36px; }
  .data-browser .record-status-row { align-items: center; }
  .data-browser .footer-nav { flex-direction: row; }
  .data-browser #bottomPrev, .data-browser #bottomNext { min-height: 44px; min-width: 44px; }
  .data-browser .search-history-chip, .data-browser .search-history-clear { min-height: 44px; }
}
@media (max-width: 380px) {
  body.data-browser:has(#q) #titleMain { font-size: 12px !important; }
  .data-browser #resultsTable .price-value { font-size: 18px; }
  .data-browser #resultsTable .plate { font-size: 15px; min-width: 66px; padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .data-browser *, .data-browser *::before, .data-browser *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print {
  .data-browser .data-skip, .data-browser .ux-task-nav, .data-browser .controls, .data-browser .share-modal { display: none !important; }
  .data-browser #resultsTable .col-source { display: none !important; }
}
