/* BANK extends the existing Stats palette and site typography. */
.bank-account-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
#bankRoot [hidden],.bank-notification[hidden],.bank-popup[hidden],#bankPerformance[hidden]{display:none!important}
#bankRoot{font-size:15px;--stats-up:#86d7ae;--stats-down:#ed9292}
#bankNotice:empty{display:none}#bankNotice{margin:0 0 18px;color:var(--paper)}
.bank-overview{display:flex;gap:36px;align-items:center;padding:20px 0 28px;border-bottom:1px solid var(--line);margin-bottom:28px}
.bank-available{min-width:210px}.bank-available>span,.bank-totals span,.bank-totals a{color:var(--muted);font-size:14px}
.bank-available>strong{display:block;font:600 48px/1.2 var(--heading-type);font-variant-numeric:tabular-nums;margin:4px 0}
.bank-overview small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.bank-totals{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;flex:1}.bank-totals strong{display:block;font:600 26px/1.2 var(--heading-type);font-variant-numeric:tabular-nums;margin-top:6px;overflow-wrap:anywhere}
.bank-totals a{text-decoration:underline;text-underline-offset:3px}.bank-workspace{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.3fr);gap:36px;margin-bottom:32px}
.bank-send{background:var(--panel);padding:20px;border:1px solid var(--line);align-self:start}.bank-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:18px}
.bank-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:10px 0;min-height:44px;font-size:16px}
.bank-tabs button[aria-pressed=true]{color:var(--cyan);border-bottom-color:var(--cyan)}
#bankForm label,.bank-dialog label{display:block;font-size:14px;color:var(--muted);margin:14px 0 6px}
#bankForm input,#bankForm select,.bank-dialog input{width:100%;box-sizing:border-box;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--ink);color:var(--paper);font:inherit;padding:10px 12px}
.bank-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bank-primary,#bankReview{background:var(--cyan);color:var(--ink);border:1px solid var(--cyan)}
#bankReview{width:100%;margin-top:16px;min-height:44px}.bank-quote,.bank-contract{line-height:1.5;font-size:14px}.bank-quote{margin:14px 0 0}.bank-muted,.bank-empty{color:var(--muted);font-size:13px;line-height:1.5}.bank-empty{padding:16px 0}
.bank-players:empty,#bankSelected:empty{display:none}.bank-players{border:1px solid var(--line);margin-top:4px}.bank-players button{display:block;text-align:left;width:100%;background:var(--ink);padding:12px;color:var(--paper);border-bottom:1px solid var(--line);min-height:44px}
.bank-player{display:inline-block;max-width:100%;overflow-wrap:anywhere}.bank-player .member-identity{max-width:100%}
.bank-loans h3,.bank-activity h3{font:600 24px var(--heading-type);margin:0 0 12px}.bank-loans h4{font-size:13px;letter-spacing:.04em;color:var(--cyan);margin:12px 0}
#bankOffers:not(:empty){margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.bank-loan-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:14px 0}.bank-loan-row>div:first-child{flex:1;min-width:130px}.bank-loan-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.5}.bank-loan-amount{text-align:right;max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.bank-loan-row button{min-height:40px;padding:8px 12px}.bank-loan-row .bank-overdue{color:#ed9292}
.bank-history{margin-top:18px}.bank-history>summary,#bankPerformance>summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--muted)}
.bank-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.bank-section-heading h3{margin:0}.bank-section-heading label{font-size:13px;color:var(--muted)}.bank-section-heading select{background:var(--panel);color:var(--paper);border:1px solid var(--line);min-height:40px;margin-left:8px;padding:8px}
.bank-transaction{border-bottom:1px solid var(--line)}.bank-transaction>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:12px 0;min-height:44px}.bank-transaction>summary::-webkit-details-marker{display:none}.bank-transaction-copy{min-width:0}.bank-transaction-copy strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.bank-transaction time{display:block;font-size:12px;color:var(--muted);margin-top:3px}.bank-transaction summary>strong{font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}.bank-receipt{padding:0 0 16px 16px;border-left:2px solid var(--line);font-size:13px}.bank-term{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.bank-term span{color:var(--muted)}.bank-term strong{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.bank-term-total{font-size:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:6px}
#bankMore,#bankRetry{padding:10px 18px;min-height:44px;margin-top:12px}#bankPerformance{margin-top:24px;border-top:1px solid var(--line)}#bankPerformance>summary{font:600 22px var(--heading-type);color:var(--paper)}#bankPerformance .stats-activity{display:none}#bankPerformance .stats-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}#bankPerformance .stats-heading{display:none}
.bank-notification{font-size:12px;padding:7px 10px;min-height:36px;background:var(--paper);color:var(--ink);border:1px solid var(--muted)}.bank-popup{position:absolute;right:0;top:100%;z-index:60;width:290px;max-width:calc(100vw - 32px);background:var(--panel);color:var(--paper);border:1px solid var(--line);padding:16px;text-align:left}.bank-popup p{margin:0 0 12px;font-size:14px}.bank-popup button{min-height:40px;padding:8px 12px;margin-right:8px}.bank-popup button:first-of-type{background:var(--cyan);color:var(--ink)}.account-name-row{flex-wrap:wrap}
.bank-dialog{background:var(--panel);color:var(--paper);border:1px solid var(--line);padding:28px;width:460px;max-width:calc(100vw - 32px);max-height:85vh;overflow:auto;box-sizing:border-box}.bank-dialog::backdrop{background:rgba(0,0,0,.7)}.bank-dialog h3{font:600 28px var(--heading-type);margin:0 30px 20px 0}.bank-dialog-close{position:absolute;right:12px;top:10px;min-width:40px;min-height:40px;background:transparent;color:var(--paper)}.bank-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.bank-dialog-actions button{min-height:44px;padding:10px 18px}#bankDialogError{color:#ed9292;font-size:14px}.bank-contract{color:var(--muted)}
#bankRoot button:focus-visible,#bankRoot input:focus-visible,#bankRoot select:focus-visible,#bankRoot summary:focus-visible,.bank-dialog button:focus-visible,.bank-dialog input:focus-visible,.bank-notification:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:850px){.bank-overview{align-items:start;flex-direction:column;gap:20px}.bank-totals{width:100%;gap:16px}.bank-workspace{grid-template-columns:1fr;gap:28px}.bank-available>strong{font-size:42px}}
@media(max-width:480px){.bank-totals{grid-template-columns:1fr 1fr}.bank-totals>div:first-child{grid-column:1/-1}.bank-totals strong{font-size:24px}.bank-section-heading{align-items:start;flex-direction:column}.bank-send{padding:16px}.bank-loan-amount strong{font-size:14px}.bank-dialog{padding:20px}.bank-term{gap:12px}.bank-term-total{font-size:18px}.bank-transaction summary>strong{font-size:14px}#bankPerformance .stats-metrics{grid-template-columns:1fr}.bank-transaction-copy strong{font-size:13px}}

#statsView .stats-heading .bank-title{font-family:Impact,Haettenschweiler,sans-serif;font-style:italic;font-weight:500;font-size:clamp(30px,4vw,42px);line-height:1.1;letter-spacing:.02em;white-space:normal;overflow:visible;padding-right:.12em}

.bank-send>.bank-tabs{gap:16px;flex-wrap:wrap}.bank-market-pages{display:flex;gap:12px;margin:12px 0}.bank-market-pages button{min-height:44px;padding:8px 12px}#bankMarket h4{margin:20px 0 8px}#bankMarket .bank-loan-row{flex-wrap:wrap}
