:root {
  --ink: #172126;
  --muted: #66747b;
  --line: #dfe7e4;
  --surface: #ffffff;
  --canvas: #f2f6f4;
  --brand: #086b5b;
  --brand-dark: #054c42;
  --brand-soft: #e4f3ef;
  --accent: #d8a321;
  --danger: #a84232;
  --danger-soft: #fff0ec;
  --shadow: 0 16px 45px rgba(25, 52, 46, 0.08);
  --radius: 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 8% 0%, #e2f2ec 0, transparent 30rem), var(--canvas); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.shell { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-inner { min-height: 74px; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; margin-right: auto; }
.brand-mark { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: white; font-weight: 850; letter-spacing: -.04em; background: linear-gradient(145deg, #0b806c, #06483f); box-shadow: 0 8px 20px rgba(8,107,91,.22); }
.brand strong, .brand small { display: block; }
.brand strong { letter-spacing: -.02em; }
.brand small { margin-top: 2px; color: var(--muted); font-size: .74rem; }
.main-nav { display: flex; align-items: center; gap: 6px; }
.main-nav a { position: relative; padding: 9px 11px; border-radius: 10px; color: #46545a; text-decoration: none; font-size: .9rem; font-weight: 650; }
.main-nav a:hover { background: var(--brand-soft); color: var(--brand-dark); }
.nav-count { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 4px; padding: 0 5px; border-radius: 10px; background: var(--danger); color: white; font-size: .7rem; }
.user-menu { display: flex; align-items: center; gap: 10px; padding-left: 18px; border-left: 1px solid var(--line); color: var(--muted); font-size: .86rem; }
.user-menu form { margin: 0; }
.text-button { border: 0; padding: 0; color: var(--brand); background: none; cursor: pointer; font-weight: 700; }
.review-alert { background: #fff5d7; border-bottom: 1px solid #ecd58f; }
.review-alert-inner { min-height: 64px; display: flex; align-items: center; gap: 13px; }
.alert-icon { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: #a76c00; font-weight: 900; }
.review-alert strong, .review-alert span { display: block; }
.review-alert span { color: #705b2f; font-size: .86rem; }
.review-alert a { margin-left: auto; color: #785000; font-weight: 800; }
.page-content { min-height: calc(100vh - 150px); padding-block: 44px 70px; }
.page-heading { margin-bottom: 28px; }
.split-heading { display: flex; justify-content: space-between; align-items: end; gap: 28px; }
.page-heading h1 { margin: 5px 0 7px; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; letter-spacing: -.055em; }
.page-heading p { max-width: 690px; margin: 0; color: var(--muted); font-size: 1rem; }
.eyebrow { color: var(--brand); text-transform: uppercase; letter-spacing: .13em; font-weight: 850; font-size: .72rem; }
.eyebrow.warning { color: #986700; }
.button { min-height: 43px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 17px; border: 1px solid transparent; border-radius: 12px; text-decoration: none; font-weight: 780; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .65; cursor: wait; transform: none; }
.button.primary { color: white; background: var(--brand); box-shadow: 0 9px 20px rgba(8,107,91,.18); }
.button.primary:hover { background: var(--brand-dark); }
.button.secondary { color: var(--brand-dark); border-color: #b9d4cd; background: #f7fbfa; }
.button.full { width: 100%; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.metric-card { min-height: 125px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(25,52,46,.04); }
.metric-card.accent { color: white; border-color: transparent; background: linear-gradient(145deg, #0a7563, #06483f); }
.metric-card > span, .metric-title { color: var(--muted); font-size: .76rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.metric-card.accent > span, .metric-card.accent small { color: rgba(255,255,255,.74); }
.metric-card strong { display: block; margin: 11px 0 4px; font-size: 1.65rem; letter-spacing: -.04em; }
.metric-card .metric-status { font-size: 1.1rem; letter-spacing: -.02em; }
.metric-card small { color: var(--muted); }
.metric-title { display: flex; align-items: center; justify-content: space-between; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #9aa7aa; }
.status-dot.success { background: #2a9d66; box-shadow: 0 0 0 4px #e2f4ea; }
.status-dot.failed { background: var(--danger); box-shadow: 0 0 0 4px var(--danger-soft); }
.status-dot.running { background: var(--accent); box-shadow: 0 0 0 4px #fff4d6; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.filter-panel { padding: 18px; margin-bottom: 20px; }
.filter-form { display: grid; grid-template-columns: 1.6fr repeat(5, minmax(120px, 1fr)); gap: 12px; align-items: end; }
.receipt-filter-form { grid-template-columns: minmax(220px, 1.7fr) repeat(3, minmax(130px, 1fr)) minmax(155px, auto); }
.compact-filter .filter-form { grid-template-columns: 1.7fr repeat(4, 1fr); }
.field label { display: block; margin: 0 0 6px 2px; color: #536167; font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.field input, .field select, .stack-form input { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #cad7d3; border-radius: 11px; color: var(--ink); background: #fbfdfc; outline: none; }
.field input:focus, .field select:focus, .stack-form input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(8,107,91,.12); }
.filter-actions { display: flex; align-items: center; gap: 11px; grid-column: 1 / -1; padding-top: 3px; }
.receipt-filter-form .filter-actions { grid-column: auto; padding-top: 0; }
.clear-link { color: var(--muted); font-size: .86rem; font-weight: 700; }
.table-panel { overflow: hidden; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; padding: 22px 23px 13px; }
.panel-heading h2 { margin: 0; letter-spacing: -.03em; }
.panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: .86rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 12px 18px; color: #647278; background: #f7faf9; border-block: 1px solid var(--line); text-align: left; font-size: .7rem; text-transform: uppercase; letter-spacing: .07em; }
td { padding: 17px 18px; border-bottom: 1px solid #edf1ef; vertical-align: middle; font-size: .9rem; }
tbody tr:hover { background: #fbfdfc; }
td strong, td small { display: block; }
td small { max-width: 430px; margin-top: 3px; color: var(--muted); }
.number { text-align: right; white-space: nowrap; }
.amount { color: var(--brand-dark); font-size: 1rem; font-weight: 850; font-variant-numeric: tabular-nums; }
.receipt-table { min-width: 1160px; table-layout: fixed; }
.receipt-table th:nth-child(1) { width: 96px; }
.receipt-table th:nth-child(2) { width: 135px; }
.receipt-table th:nth-child(3) { width: 200px; }
.receipt-table th:nth-child(4) { width: 110px; }
.receipt-table th:nth-child(5) { width: 105px; }
.receipt-table th:nth-child(6) { width: 185px; }
.receipt-table th:nth-child(7) { width: 72px; }
.receipt-table th:nth-child(8) { width: 120px; }
.receipt-table th:nth-child(9) { width: 72px; }
.receipt-table th:nth-child(7), .receipt-table th:nth-child(9) { padding-inline: 7px; text-align: center; white-space: nowrap; }
.reconciliation-cell { position: relative; padding: 0; border-inline: 1px solid #edf1ef; transition: background .16s; }
.reconciliation-control { width: 100%; min-height: 55px; padding: 10px 9px 16px; border: 0; border-radius: 0; color: var(--ink); background: transparent; outline: none; }
.reconciliation-control:focus { box-shadow: inset 0 0 0 2px var(--brand); background: #fff; }
textarea.reconciliation-control { display: block; min-height: 55px; max-height: 120px; resize: vertical; line-height: 1.35; }
.readonly-cell .reconciliation-control, .reconciliation-control[readonly] { color: #6d797d; border-color: #dce4e1; background: #f2f5f4; cursor: not-allowed; }
.status-cell.is-pending { background: #ffd7d0; }
.status-cell.is-ok { background: #dff5e8; }
.status-cell.is-pending .reconciliation-control { color: #812f23; background: #fff0ed; font-weight: 800; text-align: center; }
.status-cell.is-ok .reconciliation-control { color: #125c3c; background: #effcf4; font-weight: 800; text-align: center; }
.status-cell .reconciliation-control { padding-inline: 4px; }
.reconciliation-cell[data-save-state="saving"] .reconciliation-control { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(216,163,33,.14); }
.reconciliation-cell[data-save-state="saved"] .reconciliation-control { border-color: #2a9d66; }
.reconciliation-cell[data-save-state="conflict"] .reconciliation-control,
.reconciliation-cell[data-save-state="error"] .reconciliation-control { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(168,66,50,.12); }
.cell-feedback { position: absolute; right: 6px; bottom: 2px; left: 6px; display: block; overflow: hidden; color: var(--muted); font-size: .63rem; line-height: 1.2; text-align: center; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
.cell-feedback:empty { display: none; }
.reconciliation-cell[data-save-state="saved"] .cell-feedback { color: #12633f; }
.reconciliation-cell[data-save-state="conflict"] .cell-feedback,
.reconciliation-cell[data-save-state="error"] .cell-feedback { color: var(--danger); font-weight: 700; }
.mono, code { font-family: "Cascadia Code", Consolas, monospace; font-size: .82rem; }
.category, .bank-chip, .run-status { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: .72rem; font-weight: 850; letter-spacing: .025em; }
.category.pix { color: #086050; background: #ddf4ed; }
.category.transfer { color: #275d8d; background: #e7f1fb; }
.category.ted { color: #795f14; background: #fff3cf; }
.category.other { color: #5f5d72; background: #eeedf5; }
.pagination { min-height: 64px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 10px 20px; color: var(--muted); font-size: .86rem; }
.pagination a { color: var(--brand); font-weight: 800; text-decoration: none; }
.pagination a:last-child { text-align: right; }
.empty-state { display: grid; place-items: center; padding: 45px 20px; color: var(--muted); text-align: center; }
.empty-state span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 10px; border-radius: 50%; color: var(--brand); background: var(--brand-soft); font-size: 1.4rem; }
.empty-state strong { color: var(--ink); font-size: 1.05rem; }
.empty-state p { margin: 5px 0 0; }
.empty-state.large { min-height: 280px; }
.review-list { display: grid; gap: 15px; }
.review-card { overflow: hidden; border: 1px solid #e4d8ba; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.review-summary { display: flex; justify-content: space-between; align-items: center; padding: 17px 20px; background: #fffbf1; border-bottom: 1px solid #eee2c3; }
.review-summary small { display: block; margin-top: 5px; color: var(--muted); }
.bank-chip { color: #765514; background: #f5e7bb; }
.review-amount { font-size: 1.35rem; color: #765514; font-variant-numeric: tabular-nums; }
.review-details { display: grid; grid-template-columns: 2fr 1.5fr 1fr; gap: 20px; padding: 20px; }
.review-details span { display: block; margin-bottom: 6px; color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 800; }
.review-details strong, .review-details small { display: block; }
.review-details small { margin-top: 4px; color: var(--muted); }
.review-details code { display: block; padding: 8px; border-radius: 8px; background: #f3f6f5; overflow-wrap: anywhere; }
.review-form { display: flex; align-items: end; gap: 12px; padding: 15px 20px 20px; border-top: 1px solid var(--line); background: #fafcfb; }
.review-form .grow { flex: 1; }
.run-status.success { color: #12633f; background: #e2f4ea; }
.run-status.failed { color: #913a2d; background: var(--danger-soft); }
.run-status.running { color: #815d00; background: #fff4d6; }
.error-text { color: var(--danger); }
.messages { display: grid; gap: 8px; margin-bottom: 18px; }
.message { padding: 13px 15px; border-radius: 12px; border: 1px solid var(--line); background: white; font-weight: 650; }
.message.success { color: #12633f; border-color: #b8ddc9; background: #edfaf2; }
.message.error { color: #8f3629; border-color: #efc1b8; background: #fff3f0; }
.message.warning { color: #765514; border-color: #ead79e; background: #fff9e8; }
.form-error { margin: 11px 0; padding: 10px 12px; color: #8f3629; border-radius: 10px; background: var(--danger-soft); }
.login-layout { min-height: 68vh; display: grid; grid-template-columns: 1.25fr .75fr; gap: 7vw; align-items: center; }
.login-copy h1 { max-width: 680px; margin: 10px 0 17px; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: .98; letter-spacing: -.065em; }
.login-copy p { max-width: 620px; color: var(--muted); font-size: 1.08rem; line-height: 1.65; }
.feature-list { display: grid; gap: 10px; padding: 0; margin: 26px 0 0; list-style: none; }
.feature-list li::before { content: "✓"; display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 9px; border-radius: 50%; color: var(--brand); background: var(--brand-soft); font-weight: 900; }
.login-card { padding: 32px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: 0 24px 70px rgba(25,52,46,.12); }
.login-card h2 { margin: 7px 0 22px; font-size: 1.7rem; letter-spacing: -.04em; }
.stack-form { display: grid; gap: 8px; }
.stack-form label { margin-top: 6px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.stack-form .button { margin-top: 14px; }
.site-footer { min-height: 76px; display: flex; align-items: center; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }

.statement-filter-panel .filter-form { grid-template-columns: 1fr 1.7fr 1fr 1fr; }
.coverage-strip { display: grid; grid-template-columns: minmax(280px, .8fr) 1.2fr; gap: 22px; align-items: center; margin-bottom: 20px; padding: 18px 20px; border: 1px solid; border-radius: var(--radius); }
.coverage-strip.complete { color: #125c3c; border-color: #add8bf; background: #edfaf2; }
.coverage-strip.incomplete { color: #775510; border-color: #e5cf8c; background: #fff9e8; }
.coverage-heading { display: flex; align-items: center; gap: 12px; }
.coverage-heading strong, .coverage-heading small { display: block; }
.coverage-heading small { margin-top: 3px; color: var(--muted); }
.coverage-icon { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border: 2px solid currentColor; border-radius: 50%; font-weight: 900; }
.coverage-accounts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.coverage-accounts div { padding: 10px 12px; border: 1px solid rgba(23,33,38,.09); border-radius: 11px; background: rgba(255,255,255,.56); }
.coverage-accounts strong, .coverage-accounts span { display: block; }
.coverage-accounts strong { font-size: .82rem; }
.coverage-accounts span { margin-top: 3px; color: var(--muted); font-size: .73rem; }
.credit-metric strong { color: var(--brand); }
.debit-metric strong { color: var(--danger); }
.position-section { margin: 31px 0 20px; }
.section-heading h2 { margin: 5px 0 14px; font-size: 1.55rem; letter-spacing: -.035em; }
.position-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.position-card { padding: 17px; border: 1px solid #cfded9; border-top: 4px solid var(--brand); border-radius: 14px; background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(25,52,46,.04); }
.position-card > span { float: right; padding: 3px 7px; border-radius: 999px; color: var(--brand-dark); background: var(--brand-soft); font-size: .68rem; font-weight: 850; }
.position-card small, .position-card strong { display: block; }
.position-card small { min-height: 32px; color: var(--muted); font-size: .72rem; }
.position-card strong { margin-top: 15px; font-size: 1.28rem; }
.position-card p { margin: 5px 0 0; color: var(--muted); font-size: .78rem; }
.direction-chip { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: .7rem; font-weight: 850; }
.direction-chip.credit { color: #086050; background: #ddf4ed; }
.direction-chip.debit { color: #943b2e; background: var(--danger-soft); }
.direction-chip.unknown { color: #5f5d72; background: #eeedf5; }
.statement-amount { font-size: 1rem; font-weight: 850; font-variant-numeric: tabular-nums; }
.statement-amount.credit { color: var(--brand-dark); }
.statement-amount.debit { color: var(--danger); }
.statement-row.position { background: #f7faf9; }
.statement-row.position td { color: #50625c; }

.balance-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.balance-summary-warning { margin: -5px 0 25px; padding: 11px 14px; color: #765514; border: 1px solid #ead79e; border-radius: 11px; background: #fff9e8; font-size: .83rem; }
.balance-section-heading { margin-top: 31px; }
.balance-section-heading p { margin: -8px 0 16px; color: var(--muted); font-size: .86rem; }
.balance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.balance-account-card { overflow: hidden; }
.balance-account-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 21px 22px 17px; border-bottom: 1px solid var(--line); }
.balance-account-card h2 { margin: 10px 0 3px; font-size: 1.2rem; letter-spacing: -.025em; }
.balance-account-card header p, .balance-account-card header small { margin: 0; color: var(--muted); font-size: .76rem; }
.balance-account-card header small { text-align: right; white-space: nowrap; }
.balance-list { margin: 0; }
.balance-list > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 54px; padding: 11px 22px; border-bottom: 1px solid #edf1ef; }
.balance-list > div:last-child { border-bottom: 0; }
.balance-list dt { color: var(--muted); font-size: .82rem; }
.balance-list dd { margin: 0; color: var(--brand-dark); font-size: 1rem; font-weight: 850; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.balance-empty { min-height: 150px; }
.balance-note { margin: 18px 2px 0; color: var(--muted); font-size: .8rem; }
.manual-balance-heading { margin-top: 40px; }
.manual-balance-field { position: relative; padding: 18px 22px 28px; }
.manual-balance-field label { display: block; margin-bottom: 7px; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.manual-balance-control { min-height: 52px; display: flex; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid #cad7d3; border-radius: 12px; background: #fbfdfc; transition: border-color .15s, box-shadow .15s; }
.manual-balance-control > span { color: var(--muted); font-size: 1rem; font-weight: 800; }
.manual-balance-control input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; color: var(--brand-dark); background: transparent; font-size: 1.35rem; font-weight: 850; font-variant-numeric: tabular-nums; text-align: right; }
.manual-balance-control:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(8,107,91,.12); }
.manual-balance-feedback { position: absolute; right: 22px; bottom: 8px; left: 22px; min-height: 15px; color: var(--muted); font-size: .68rem; text-align: right; }
.manual-balance-field[data-save-state="saving"] .manual-balance-control { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(216,163,33,.14); }
.manual-balance-field[data-save-state="saved"] .manual-balance-control { border-color: #2a9d66; }
.manual-balance-field[data-save-state="saved"] .manual-balance-feedback { color: #12633f; }
.manual-balance-field[data-save-state="conflict"] .manual-balance-control,
.manual-balance-field[data-save-state="error"] .manual-balance-control { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(168,66,50,.12); }
.manual-balance-field[data-save-state="conflict"] .manual-balance-feedback,
.manual-balance-field[data-save-state="error"] .manual-balance-feedback { color: var(--danger); font-weight: 700; }

@media (max-width: 1000px) {
  .header-inner { flex-wrap: wrap; padding-block: 10px; }
  .main-nav { order: 3; width: 100%; padding-bottom: 2px; overflow-x: auto; scrollbar-width: thin; }
  .main-nav a { flex: 0 0 auto; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-form, .compact-filter .filter-form { grid-template-columns: repeat(3, 1fr); }
  .field.wide { grid-column: span 2; }
  .receipt-filter-form .filter-actions { grid-column: 1 / -1; padding-top: 3px; }
  .review-details { grid-template-columns: 1fr 1fr; }
  .review-form { flex-wrap: wrap; }
  .review-form .field { flex: 1 1 220px; }
  .statement-filter-panel .filter-form { grid-template-columns: repeat(2, 1fr); }
  .coverage-strip { grid-template-columns: 1fr; }
  .position-grid { grid-template-columns: repeat(2, 1fr); }
  .balance-grid { grid-template-columns: 1fr; }
  .balance-summary-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
  .shell { width: min(100% - 24px, 1200px); }
  .header-inner { min-height: 64px; gap: 12px; }
  .brand small, .user-menu > span { display: none; }
  .user-menu { padding-left: 10px; }
  .page-content { padding-top: 30px; }
  .split-heading { align-items: stretch; flex-direction: column; }
  .split-heading .button { width: 100%; }
  .metric-grid { grid-template-columns: 1fr; }
  .filter-form, .compact-filter .filter-form { grid-template-columns: 1fr 1fr; }
  .field.wide { grid-column: 1 / -1; }
  .review-alert-inner { align-items: flex-start; padding-block: 12px; }
  .review-alert a { margin-left: 0; }
  .review-alert-inner { flex-wrap: wrap; }
  table thead { display: none; }
  table, tbody, tr, td { display: block; }
  tbody tr { padding: 12px 15px; border-bottom: 1px solid var(--line); }
  td { display: grid; grid-template-columns: 115px 1fr; padding: 7px 0; border: 0; text-align: left !important; }
  td::before { content: attr(data-label); color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
  td[colspan] { display: block; }
  td[colspan]::before { display: none; }
  .receipt-table { min-width: 0; table-layout: auto; }
  .receipt-table .reconciliation-cell { display: grid; }
  .receipt-table .reconciliation-control { width: 100%; }
  .review-summary { align-items: flex-start; }
  .review-details { grid-template-columns: 1fr; }
  .review-form { display: grid; }
  .review-form .field { width: 100%; }
  .login-layout { grid-template-columns: 1fr; }
  .login-copy { display: none; }
  .login-card { padding: 25px; }
  .statement-filter-panel .filter-form { grid-template-columns: 1fr; }
  .statement-filter-panel .field.wide { grid-column: auto; }
  .coverage-accounts, .position-grid { grid-template-columns: 1fr; }
  .balance-account-card > header { display: block; }
  .balance-account-card header small { display: block; margin-top: 10px; text-align: left; }
  .balance-summary-grid { grid-template-columns: 1fr; }
}
