/* Bank Accounts, Transfers and Deposits: saved Stitch banking exports.
   Only presentation; native-currency amounts and permissions remain server-owned. */
.tv-stitch-banking :is(.bank-transaction-filters,.bank-reconciliation-filters) {display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:white;padding:16px;border:1px solid var(--tv-border,#c7d4e2);border-radius:12px;}
.tv-stitch-banking :is(.bank-transaction-filters,.bank-reconciliation-filters) > label {display:grid;gap:6px;flex:1 1 150px;min-width:0;}
.tv-stitch-banking :is(.bank-transaction-main,.bank-reconciliation-main) {display:grid;gap:20px;min-width:0;}
.tv-stitch-book-inspection {padding:20px;background:#fff;border:1px solid var(--tv-border,#c7d4e2);border-radius:12px;}
.tv-stitch-book-inspection > h3 {margin:0 0 8px;font-size:20px;}
.tv-stitch-book-inspection > p {color:var(--tv-text-muted,#4d6178);margin:0 0 20px;}
.tv-stitch-book-inspection .bank-transaction-detail {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.tv-stitch-book-inspection .panel {min-width:0;padding:16px;border:1px solid var(--tv-border,#c7d4e2);border-radius:8px;background:var(--tv-surface-muted,#f3f7fb);}
.tv-stitch-book-inspection .info-line {display:flex;justify-content:space-between;gap:16px;padding:8px 0;overflow-wrap:anywhere;}
.tv-stitch-book-actions {display:flex;gap:8px;margin-top:16px;}
.tv-stitch-reconciliation-detail .bank-reconciliation-equation {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.tv-stitch-reconciliation-detail .panel {padding:16px;border:1px solid var(--tv-border,#c7d4e2);border-radius:10px;background:#fff;}
@media(max-width:700px){.tv-stitch-book-inspection .bank-transaction-detail {grid-template-columns:1fr;}.tv-stitch-book-inspection {padding:12px;}}
.tv-stitch-banking {padding:24px;background:var(--tv-surface-muted,#f3f7fb);color:var(--tv-text,#122c46);}
.tv-stitch-banking .workspace-hero {display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;}
.tv-stitch-banking .workspace-hero h2 {font-size:28px;letter-spacing:-.03em;margin:0 0 8px;}
.tv-stitch-banking .workspace-hero p {color:var(--tv-text-muted,#4d6178);line-height:1.6;max-width:90ch;margin:0;}
.tv-stitch-banking .workspace-hero-actions {display:flex;gap:8px;flex-wrap:wrap;}
.tv-stitch-banking .workspace-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0;}
.tv-stitch-banking .workspace-stat {display:grid;gap:10px;padding:20px;background:#fff;border:1px solid var(--tv-border,#c7d4e2);border-radius:12px;min-width:0;}
.tv-stitch-banking .workspace-stat > strong {font-size:25px;font-variant-numeric:tabular-nums;}
.tv-stitch-banking .workspace-stat > :is(span,small) {font-size:13px;color:var(--tv-text-muted,#4d6178);line-height:1.5;}
.tv-stitch-banking .filter-row,.tv-stitch-banking .bank-account-filters {display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;background:#fff;}
.tv-stitch-banking .filter-row > label,.tv-stitch-banking .bank-account-filters > label {display:grid;gap:8px;flex:1;min-width:150px;}
.tv-stitch-banking .filter-row > label:first-child,.tv-stitch-banking .bank-account-filters > label:first-child {flex:2;min-width:240px;}
.tv-stitch-banking .filter-row :is(input,select),.tv-stitch-banking .bank-account-filters :is(input,select) {width:100%;}
.tv-stitch-banking .bank-account-filter-disclosure {border:1px solid var(--tv-border,#c7d4e2);border-radius:12px;background:#fff;margin-bottom:24px;overflow:hidden;}
.tv-stitch-banking .bank-account-filter-disclosure > summary {padding:16px;cursor:pointer;}
.tv-stitch-banking .bank-account-filter-summary {margin-left:12px;color:var(--tv-text-muted,#4d6178);font-size:13px;}
.tv-stitch-banking .bank-account-filter-actions {display:flex;gap:8px;}
.tv-stitch-banking :is(.table-card,.bank-account-register) {overflow-x:auto;background:#fff;border:1px solid var(--tv-border,#c7d4e2);border-radius:12px;}
.tv-stitch-banking table {min-width:850px;}
.tv-stitch-banking td > div {display:grid;gap:6px;}
.tv-stitch-banking td small {color:var(--tv-text-muted,#4d6178);font-size:12px;line-height:1.5;}
.tv-stitch-banking tbody tr:hover {background:var(--tv-brand-soft,#e8f3fc);}
.tv-stitch-banking :is(.ledger-pagination,.pagination-controls,.bank-account-pager) {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;}
.tv-stitch-banking :is(.ledger-pagination-actions,.bank-account-pager-actions) {display:flex;gap:8px;}
.tv-stitch-banking .tv-route-context {display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--tv-text-muted,#4d6178);margin-top:12px;}
.tv-stitch-banking .empty-state {padding:28px;background:#fff;border:1px solid var(--tv-border,#c7d4e2);border-radius:12px;}
@media(max-width:900px){.tv-stitch-banking .workspace-stats {grid-template-columns:repeat(2,minmax(0,1fr));}.tv-stitch-banking .workspace-hero {flex-direction:column;}}
@media(max-width:540px){.tv-stitch-banking {padding:12px;}.tv-stitch-banking .workspace-stat {padding:12px;}.tv-stitch-banking :is(.ledger-pagination,.bank-account-pager) {align-items:flex-start;flex-direction:column;}}

/* Exact Stitch ownership for the five banking screens. Keep the reusable
   banking primitives above; these screen compositions prevent the legacy
   register rules from flattening each page into the same generic table. */
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"].tv-stitch-banking {
  --bank-screen-accent: var(--tv-brand, #0d6fb8);
  background: var(--tv-surface-muted, #f3f7fb);
}
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-accounts-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .31fr);
  gap: 20px;
  align-items: start;
}
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-account-main { min-width: 0; }
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-account-integrity-attention,
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-account-summary-inspector,
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-account-readiness-inspector,
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-account-integrity-inspector {
  min-width: 0;
  border-radius: 12px;
}
[data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-account-register {
  box-shadow: 0 1px 2px rgb(18 44 70 / 5%);
}

[data-stitch-screen="24cd9266e3c046458bcd4a2e944f136e"].tv-stitch-banking {
  --bank-screen-accent: var(--tv-brand, #0d6fb8);
}
[data-stitch-screen="24cd9266e3c046458bcd4a2e944f136e"] .workspace-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
[data-stitch-screen="24cd9266e3c046458bcd4a2e944f136e"] .filter-row {
  border: 1px solid var(--tv-border, #c7d4e2);
  border-radius: 12px 12px 0 0;
}
[data-stitch-screen="24cd9266e3c046458bcd4a2e944f136e"] .table-card {
  border-radius: 0 0 12px 12px;
}

[data-stitch-screen="eb916a53985345f1b2af1f9623ba37e6"].tv-stitch-banking {
  --bank-screen-accent: var(--tv-accent, #ed6b36);
}
[data-stitch-screen="eb916a53985345f1b2af1f9623ba37e6"] .workspace-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
[data-stitch-screen="eb916a53985345f1b2af1f9623ba37e6"] .filter-row {
  align-items: center;
  border-bottom: 1px solid var(--tv-border, #c7d4e2);
}
[data-stitch-screen="eb916a53985345f1b2af1f9623ba37e6"] .bank-deposit-receipt-list {
  display: grid;
  gap: 8px;
  padding: 12px 16px;
}
[data-stitch-screen="eb916a53985345f1b2af1f9623ba37e6"] .bank-deposit-receipt {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--tv-border, #c7d4e2);
  border-radius: 10px;
  background: var(--tv-surface, #fff);
}

[data-stitch-screen="9417f2bf5abc4b6bbe1068363309b9fa"].tv-stitch-banking {
  --bank-screen-accent: var(--tv-brand, #0d6fb8);
}
[data-stitch-screen="9417f2bf5abc4b6bbe1068363309b9fa"] .bank-transaction-main {
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
  align-items: start;
}
[data-stitch-screen="9417f2bf5abc4b6bbe1068363309b9fa"] .bank-transaction-register,
[data-stitch-screen="9417f2bf5abc4b6bbe1068363309b9fa"] .tv-stitch-book-inspection {
  min-width: 0;
}
[data-stitch-screen="9417f2bf5abc4b6bbe1068363309b9fa"] .tv-stitch-book-inspection {
  position: sticky;
  top: 16px;
}

[data-stitch-screen="c5c71c3905d449f9af72f6fb9644bcb9"].tv-stitch-banking {
  --bank-screen-accent: var(--tv-accent, #ed6b36);
}
[data-stitch-screen="c5c71c3905d449f9af72f6fb9644bcb9"] .bank-reconciliation-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
[data-stitch-screen="c5c71c3905d449f9af72f6fb9644bcb9"] .bank-reconciliation-register {
  box-shadow: 0 1px 2px rgb(18 44 70 / 5%);
}
[data-stitch-screen="c5c71c3905d449f9af72f6fb9644bcb9"] .bank-reconciliation-equation {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1050px) {
  [data-stitch-screen="1f5840955e094b4b95757a52ed9566ee"] .bank-accounts-workbench,
  [data-stitch-screen="9417f2bf5abc4b6bbe1068363309b9fa"] .bank-transaction-main {
    grid-template-columns: minmax(0, 1fr);
  }
  [data-stitch-screen="9417f2bf5abc4b6bbe1068363309b9fa"] .tv-stitch-book-inspection { position: static; }
}
@media (max-width: 700px) {
  [data-stitch-screen="24cd9266e3c046458bcd4a2e944f136e"] .workspace-stats,
  [data-stitch-screen="eb916a53985345f1b2af1f9623ba37e6"] .workspace-stats,
  [data-stitch-screen="c5c71c3905d449f9af72f6fb9644bcb9"] .bank-reconciliation-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 420px) {
  [data-stitch-screen="24cd9266e3c046458bcd4a2e944f136e"] .workspace-stats,
  [data-stitch-screen="eb916a53985345f1b2af1f9623ba37e6"] .workspace-stats,
  [data-stitch-screen="c5c71c3905d449f9af72f6fb9644bcb9"] .bank-reconciliation-steps {
    grid-template-columns: minmax(0, 1fr);
  }
}
