/* Bank Import room (Phase 3a review screen). Kept in its OWN file (not styles.css) so this
   slice's commit cannot sweep up a parallel session's uncommitted styles.css edits; tokens
   come from the same :root palette. Fluid full-width table, no inner scroll boxes, text
   left / numbers right, reason strings verbatim. */

.bank-chips { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.bank-chip {
  display: inline-flex; align-items: center; gap: var(--space-1-5); font-size: var(--text-xs); font-weight: 600;
  padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line);
  background: var(--surface); color: var(--ink-soft); white-space: nowrap;
}
.bank-chip .n { font-family: var(--mono-font); font-weight: 600; }
.bank-chip.st-exact, .bank-chip.st-confident { color: var(--accent-ink); border-color: var(--accent-soft); background: var(--accent-soft); }
.bank-chip.st-ambiguous { color: var(--warn); background: rgba(180,83,9,.10); border-color: rgba(180,83,9,.20); }
.bank-chip.st-unmatched { color: var(--risk); background: var(--risk-soft); border-color: var(--risk-line); }

#bank-table { table-layout: fixed; width: 100%; min-width: 0; }
#bank-table col.bank-col-date { width: 10%; }
#bank-table col.bank-col-line { width: 22%; }
#bank-table col.bank-col-amount { width: 13%; }
#bank-table col.bank-col-direction { width: 9%; }
#bank-table col.bank-col-match { width: 14%; }
#bank-table col.bank-col-voucher { width: 18%; }
#bank-table col.bank-col-decision { width: 14%; }
#bank-table th { overflow: hidden; text-overflow: ellipsis; }
#bank-table td { vertical-align: top; overflow-wrap: anywhere; }
#bank-table .bank-narr { overflow-wrap: anywhere; }
#bank-table .bank-ref { color: var(--muted); font-size: var(--text-sm); font-family: var(--mono-font); }
#bank-table td.num { text-align: right; font-family: var(--mono-font); }

.bank-status { display: inline-block; font-size: var(--text-2xs); font-weight: 700; letter-spacing: .03em; text-transform: uppercase; padding: 2px 8px; border-radius: 6px; }
.bank-status.st-exact, .bank-status.st-confident { color: var(--accent-ink); background: var(--accent-soft); }
.bank-status.st-ambiguous { color: var(--warn); background: rgba(180,83,9,.10); }
.bank-status.st-unmatched { color: var(--risk); background: var(--risk-soft); }
.bank-reason { margin: 5px 0 0; font-size: var(--text-sm); color: var(--muted); max-width: 320px; }

.bank-voucher { font-size: var(--text-sm); }
.bank-voucher .bv-party { font-weight: 600; }
.bank-voucher .bv-meta { color: var(--muted); font-size: var(--text-xs); font-family: var(--mono-font); }
.bank-cands { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-1-5); }
.bank-cands li { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: 6px; padding: 5px 8px; background: var(--surface); }
.bank-cands li.picked { border-color: var(--accent); background: var(--accent-soft); }

.bank-btn {
  font: inherit; font-size: var(--text-xs); font-weight: 600; padding: 4px 10px; border-radius: 6px;
  border: 1px solid var(--line); background: var(--surface); color: var(--ink-soft); cursor: pointer;
  transition: background .12s ease, border-color .12s ease;
}
.bank-btn:hover { background: var(--surface-2); border-color: var(--accent); }
.bank-btn.primary { border-color: var(--accent); background: var(--accent); color: #fff; }
html.dark .bank-btn.primary { color: #06201d; }
.bank-btn:disabled { opacity: .55; cursor: default; }
.bank-actions { display: flex; flex-wrap: wrap; gap: var(--space-1-5); }

.bank-decision { display: inline-flex; align-items: center; gap: var(--space-1-5); margin-top: 7px; font-size: var(--text-xs); font-weight: 600; color: var(--accent-ink); }
.bank-decision::before { content: "✓"; font-weight: 700; }
.bank-decision.skip { color: var(--muted); }
.bank-decision.create { color: var(--warn); }

.bank-empty { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); }
.bank-empty h2 { font-size: var(--text-lg); font-weight: 700; margin: 0 0 6px; }
.bank-empty p { color: var(--muted); max-width: 560px; margin: 0; font-size: var(--text-base); }

/* Phase 4 (D1/D6): the per-row "create in Tally" flow. A distinct rail under the intent-only
   decision actions so a REAL write is never mistaken for the decision-recording buttons above it. */
.bank-write { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1-5); margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px dashed var(--line); }
.bank-write-select {
  font: inherit; font-size: var(--text-xs); padding: 3px 6px; border-radius: 6px; border: 1px solid var(--line);
  background: var(--surface); color: var(--ink); max-width: 160px;
}
.bank-write-status { font-size: var(--text-xs); font-weight: 600; }
.bank-write-status.working { color: var(--muted); }
.bank-write-status.error { color: var(--risk); }
.bank-write-done { display: inline-flex; align-items: center; gap: var(--space-1-5); font-size: var(--text-xs); font-weight: 700; color: var(--accent-ink); }
.bank-write-done::before { content: "✓"; }
