/* xplorer-tx.css — block-detail transaction panel + MWEB surfaces.
 * Token-driven (--mweb / --mweb-bg / --mweb-border / --mweb-tint-strong)
 * so light-theme overrides in tokens.css cascade without duplication. */

.fx-tx-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.fx-mweb-summary {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--mweb-border);
  background: var(--mweb-bg);
  color: var(--mweb);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fx-mweb-summary--degraded {
  border-color: var(--border);
  background: transparent;
  color: var(--muted2);
}

.fx-tx-toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-3) 0;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}

.fx-tx-toolbar--degraded {
  background: transparent;
  border-bottom-color: var(--border);
  color: var(--muted2);
}

.fx-tx-filter {
  border: 1px solid var(--border2);
  background: transparent;
  color: var(--muted2);
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  font: inherit;
  font-size: var(--text-sm);
  font-weight: 700;
  cursor: pointer;
}

.fx-tx-filter.is-active {
  color: var(--text);
  border-color: var(--mweb-border);
  background: var(--mweb-tint-strong);
}

.fx-tx-row {
  /* base row hook — kept as a stable selector for JS hooks (data-mweb)
   * even when no MWEB styling applies. */
}

.fx-tx-row--mweb {
  background: linear-gradient(90deg, var(--mweb-tint-strong), transparent 42%);
}

.fx-tx-row--mweb td:first-child {
  box-shadow: inset 3px 0 0 var(--mweb);
}

.fx-tx-row--flash {
  transition: background-color 1.6s ease-out;
  animation: fx-mweb-flash 1.6s ease-out;
}

@keyframes fx-mweb-flash {
  0%   { background-color: var(--mweb-tint-strong); }
  100% { background-color: transparent; }
}

.fx-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border-radius: 6px;
  padding: 2px 7px;
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.fx-badge--coinbase {
  border: 1px solid var(--green);
  background: var(--green-bg);
  color: var(--green);
}

.fx-badge--mweb {
  border: 1px solid var(--mweb-border);
  background: var(--mweb-bg);
  color: var(--mweb);
}

.fx-badge--regular {
  border: 1px solid var(--border);
  background: transparent;
  color: var(--muted);
}

/* ── Responsive transactions table pivot (≤768px) ───────────────────────
 * Migrated from inline <style> in app/views/partials/head.ejs so the rule
 * lives next to the rest of the transaction-table surface. Any
 * <table class="fx-tx-list"> pivots into stacked label/value cards on
 * mobile so users don't have to scroll horizontally. Cells with [data-label]
 * become full-width labeled rows; cells without it stay inline on the first
 * line. Cells marked [data-cell="index"] render small/muted (the # column).
 * The override on .fx-table-wrap .fx-tx-list kills the shared 640px
 * min-width that would otherwise force horizontal overflow. */
@media (max-width: 768px) {
  .fx-table-wrap .fx-tx-list { min-width: 0; }
  .fx-tx-list thead { display: none; }
  .fx-tx-list,
  .fx-tx-list tbody { display: block; }
  .fx-tx-list tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--border);
  }
  .fx-tx-list td {
    padding: 0 !important;
    border: none !important;
  }
  .fx-tx-list td:empty { display: none; }
  .fx-tx-list td[data-cell="index"] {
    color: var(--muted);
    font-size: var(--text-xs);
    flex: 0 0 auto;
  }
  .fx-tx-list td[data-label] {
    flex: 0 0 100%;
    display: block;
    padding: var(--space-1) 0 !important;
    font-family: var(--font-mono);
  }
  .fx-tx-list td[data-label]::before {
    content: attr(data-label);
    display: inline-block;
    min-width: 72px;
    color: var(--muted);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-family: var(--font-base, inherit);
    margin-right: var(--space-3);
  }
}

/* cache-bust: ?v=20260615-mweb-ui */
