.bank-payment { margin-block:24px; padding:22px; border:1px solid var(--line,#dbe3eb); border-radius:12px; background:#f7f9fc; min-width:0; }
.bank-payment-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.bank-payment-heading h3 { margin:0; font-size:1.2rem; }
.bank-payment-heading .badge { white-space:normal; }
.bank-payment-intro,.bank-payment-note { line-height:1.65; }
.bank-payment-content { display:grid; grid-template-columns:minmax(190px,280px) minmax(0,1fr); gap:24px; align-items:start; margin-block:20px; }
.bank-payment-qr { min-width:0; text-align:center; padding:10px; border-radius:10px; background:#fff; border:1px solid #dbe3eb; }
.bank-payment-qr img { display:block; width:100%; max-width:280px; height:auto; aspect-ratio:1; object-fit:contain; margin:auto; background:#fff; }
.bank-payment-qr img[hidden],.bank-payment-qr-error[hidden] { display:none; }
.bank-payment-qr-error { padding:14px 6px; line-height:1.6; }
.bank-payment-details { min-width:0; }
.bank-payment-details dl { display:grid; gap:16px; margin:0; }
.bank-payment-details dt { margin:0 0 5px; font-size:.83rem; color:#506176; }
.bank-payment-details dd { margin:0; display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; overflow-wrap:anywhere; }
.bank-payment-amount { font-size:1.4rem; font-weight:700; color:#123149; }
.bank-payment-copy { border:1px solid #a6bbcd; border-radius:7px; background:#fff; color:#163d5e; padding:9px 12px; font:inherit; font-size:.8rem; cursor:pointer; min-height:40px; }
.bank-payment-copy:focus-visible,[data-bank-qr-retry]:focus-visible { outline:3px solid #2278bb; outline-offset:3px; }
.bank-payment-details textarea { width:100%; max-width:100%; min-height:65px; box-sizing:border-box; }
.bank-payment-copy-status { min-height:1.5em; font-size:.85rem; color:#24533b; margin-bottom:0; }
.bank-payment-note { padding-top:16px; border-top:1px solid #dbe3eb; font-size:.88rem; }
.bank-staff-actions { display:grid; gap:20px; margin-block:22px; padding:18px; border:1px solid var(--line,#dbe3eb); border-radius:10px; }
.bank-staff-actions form { display:grid; gap:12px; }
.bank-staff-actions h3,.bank-staff-actions p { margin:0; }
.bank-staff-actions label { display:grid; gap:6px; }
.bank-staff-actions .payment-option { display:flex; align-items:flex-start; }
.bank-staff-actions .payment-option input { margin-top:5px; flex:0 0 auto; }
.bank-staff-actions .button { justify-self:start; white-space:normal; }
.staff-order-body > * { min-width:0; }
.staff-order label[hidden] { display:none; }
.staff-order-body .bank-payment-content { grid-template-columns:minmax(0,1fr); }
.staff-order-body .bank-payment-qr { max-width:300px; }
@media(max-width:700px) {
    .bank-payment { padding:18px 14px; }
    .bank-payment-content { grid-template-columns:minmax(0,1fr); gap:20px; }
    .bank-payment-qr { max-width:300px; width:100%; margin-inline:auto; box-sizing:border-box; }
    .bank-payment-copy { min-height:44px; }
    .bank-staff-actions .button { width:100%; }
}
@media print { .bank-payment-copy,.bank-payment-copy-status,.bank-payment-qr-error button,.bank-staff-actions { display:none; } .bank-payment { break-inside:avoid; } }
