.bank-page { background:#f3f6fa; }
.bank-received { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px; }
.bank-received-card { display:flex;align-items:center;gap:16px;min-width:0; }
.bank-received-card img { flex-shrink:0;object-fit:contain; }
.bank-page .bank-received-card h2 { margin:0 0 4px; }
.bank-received-card p { margin:0 0 6px; }
.bank-received-card time { font-size:1.2rem;font-weight:700;color:#243b51;font-variant-numeric:tabular-nums; }
@media(max-width:600px){.bank-received{grid-template-columns:1fr;gap:12px}}
.tbc-panel { margin-bottom:22px; }
.tbc-panel > .bank-row { align-items:flex-start; }
.tbc-panel > .bank-row img { object-fit:contain; }
.tbc-panel summary { cursor:pointer;color:#345d82;margin:12px 0; }
.tbc-fields { display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-top:18px; }
.tbc-fields .field { min-width:0;margin:0; }
.tbc-fields input { width:100%;box-sizing:border-box; }
#tbc-message { white-space:pre-line;line-height:1.6; }
#tbc-message:empty { display:none; }
@media(max-width:760px){.tbc-fields{grid-template-columns:1fr}.tbc-fields button{width:100%}}
.bank-shell { max-width:1500px; }
.bank-page [hidden] { display:none!important; }
.bank-heading,.bank-list-heading,.bank-row,.bank-actions,.bank-paging { display:flex;align-items:center;justify-content:space-between;gap:14px; }
.bank-heading { margin-bottom:18px;flex-wrap:wrap; }.bank-heading h1 { margin:0; }.bank-page h2 { font-size:1.1rem;margin:0 0 8px; }
.bank-page .bank-muted { color:#5e7085;font-size:.85rem;line-height:1.6; }.bank-page .error { color:#a32732; }
.bank-upload { display:grid;grid-template-columns:1fr minmax(240px,1.1fr) auto;gap:18px;align-items:center;margin-bottom:22px; }
.bank-upload-note,.bank-csv { grid-column:1/-1; }.bank-upload-note { margin:0;font-size:.875rem;color:#49627a; }.bank-csv summary { cursor:pointer;color:#345d82;font-size:.875rem; }.bank-csv-fields { display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:12px; }.bank-csv-fields .field { flex:1;max-width:480px; }
.bank-filters { display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;margin-bottom:16px; }.bank-filters .field,.bank-upload .field { margin:0; }
.bank-status-filters { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px; }
.bank-status-filters button { min-height:44px;padding:10px 16px;border:1px solid #cbd9e7;border-radius:10px;background:#fff;color:#345d82;font-size:.875rem;cursor:pointer; }
.bank-status-filters button:hover { background:#eaf3fb; }
.bank-status-filters button[aria-pressed="true"] { background:#1265a8;border-color:#1265a8;color:#fff; }
.bank-status-filters button:focus-visible { outline:3px solid #78b9e8;outline-offset:2px; }
.bank-columns { display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:20px;align-items:start; }.bank-columns .panel { min-width:0; }.bank-list-panel { padding:0;overflow:hidden; }.bank-list-heading { padding:18px;border-bottom:1px solid #e0e8f0; }.bank-list-heading h2 { margin:0; }
.bank-item { width:100%;border:0;border-radius:0;border-bottom:1px solid #dce5ef;border-left:4px solid transparent;background:#fff;text-align:left;padding:17px 16px;cursor:pointer;color:#243b51; }.bank-item:hover { background:#f4f8fc; }.bank-item[aria-pressed="true"] { border-left-color:#1265a8;background:#eaf3fb; }.bank-item .bank-row { align-items:start; }.bank-item strong { font-size:.95rem;overflow-wrap:anywhere; }.bank-item small { display:block;margin:5px 0 8px;color:#5a6f83; }.bank-money { white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700; }.bank-badge { display:inline-block;border-radius:5px;padding:4px 7px;background:#edf1f5;color:#566a7b;font-size:.8rem; }.bank-badge.paid { background:#e5f3eb;color:#206341; }.bank-badge.pending,.bank-badge.partial { background:#fff0d8;color:#835312; }
.bank-detail { padding:24px; }.bank-detail-heading { align-items:start; }.bank-detail-heading .bank-money { font-size:1.6rem; }.bank-detail-heading h2 { overflow-wrap:anywhere; }.bank-facts { display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 0;border-bottom:1px solid #dde5ef;margin-bottom:18px; }.bank-facts dt { color:#64788b;font-size:.8rem; }.bank-facts dd { margin:5px 0 0;overflow-wrap:anywhere;font-size:.95rem; }.bank-notice { background:#fff3df;color:#785317;padding:12px;border-radius:9px;font-size:.9rem;line-height:1.6;margin:14px 0; }.bank-notice.success { background:#eaf5ee;color:#255f40; }
.bank-check { display:flex;align-items:start;gap:9px;font-size:.9rem;line-height:1.6;margin:12px 0; }.bank-check input[type="checkbox"],.bank-debt input[type="checkbox"] { width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:#1265a8; }.bank-customer { margin:18px 0; }.bank-customer select { width:100%;text-overflow:ellipsis; }
.bank-debt { display:flex;align-items:start;gap:12px;padding:15px 0;border-bottom:1px solid #e2e8ef;cursor:pointer; }.bank-debt-info { flex:1;min-width:0; }.bank-debt-info strong { display:block;overflow-wrap:anywhere;font-size:.95rem; }.bank-debt-info small { display:block;font-size:.8rem;color:#607286;margin-top:5px; }.bank-totals { background:#f1f5f9;border-radius:10px;padding:14px;margin:20px 0 14px;display:grid;gap:10px; }.bank-totals .bank-row { font-size:.9rem; }.bank-actions { flex-wrap:wrap;margin-top:18px; }.bank-actions button { flex:0 1 auto; }.bank-empty { color:#607589;padding:24px;text-align:center;line-height:1.7; }.bank-paging { padding:12px; }.bank-history { margin-top:18px;border-top:1px solid #dce5ef;padding-top:14px; }.bank-history p { font-size:.85rem; }
#bank-confirm { border:1px solid #d5e1ec;border-radius:14px;padding:24px;max-width:540px;width:calc(100% - 30px);color:#24394c;background:#fff; }#bank-confirm::backdrop { background:#142a4677; }#bank-confirm p { line-height:1.65; }#bank-message:empty { display:none; }#bank-message { white-space:pre-line; }
@media(max-width:1050px){.bank-upload{grid-template-columns:1fr 1fr}.bank-upload button{justify-self:start}.bank-filters{grid-template-columns:1fr 1fr}.bank-columns{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}}
@media(max-width:760px){.bank-columns,.bank-upload{grid-template-columns:1fr}.bank-filters{grid-template-columns:1fr}.bank-detail{padding:16px}.bank-facts{grid-template-columns:1fr}.bank-upload-note,.bank-csv{grid-column:auto}.bank-detail-heading .bank-money{font-size:1.2rem}.bank-row{gap:8px}.bank-shell{padding:12px}.bank-csv-fields{display:block}}

/* Allocation amounts need full input sizing, independent of the checkboxes. */
.bank-debt { flex-wrap:wrap; }
.bank-debt-info { flex:1 1 140px; }
.bank-debt > .bank-money { display:flex;flex-direction:column;gap:6px;flex:0 1 180px;min-width:140px;max-width:100%;white-space:normal; }
.bank-debt > .bank-money small { font-size:.8rem;color:#607286; }
.bank-debt input[data-payment] { display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;height:auto;margin:0;padding:10px 12px;font-size:16px;line-height:1.4;text-align:right;font-variant-numeric:tabular-nums; }
@media(max-width:560px){.bank-debt-info{flex-basis:calc(100% - 30px)}.bank-debt > .bank-money{flex-basis:calc(100% - 30px);margin-left:30px;min-width:0}}

#bog-message { white-space:pre-line;line-height:1.6; }
#bog-message:empty { display:none; }
#bog-connect { grid-template-columns:repeat(3,minmax(0,1fr)); }
#bog-connect > button { justify-self:start;grid-column:1/-1; }
@media(max-width:760px){#bog-connect{grid-template-columns:1fr}}
