.bank-panel { margin: 1.5rem 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #c5a57955; border-radius: 14px; background: #f6f2e8; color: #342d27; }
.bank-panel[hidden], .bank-panel [hidden] { display: none !important; }
.bank-panel h2, .bank-panel h3, .bank-panel h4 { color: inherit; margin: .5rem 0 1rem; }
.bank-panel header small { letter-spacing: .16em; color: #725434; }
.bank-panel p { line-height: 1.65; overflow-wrap: anywhere; }
.bank-panel section, .bank-panel form { margin: 1.5rem 0; border-top: 1px solid #c5a57955; padding-top: 1.25rem; }
.bank-fields, .bank-toolbar, .bank-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1rem; margin: 1rem 0; }
.bank-panel label { display: flex; flex-direction: column; gap: .5rem; font-size: .85rem; }
.bank-panel input, .bank-panel select { width: 100%; padding: .8rem; border: 1px solid #9b8d7d; border-radius: 6px; color: #342d27; background: white; }
.bank-panel input[type=checkbox] { width: auto; align-self: flex-start; }
.bank-panel button { background: #563c29; color: #fff9ec; border: 0; border-radius: 6px; padding: .9rem 1rem; margin: .4rem .4rem .4rem 0; cursor: pointer; }
.bank-panel button:disabled { opacity: .5; cursor: not-allowed; }
.bank-summary article, .bank-panel [data-bank=contracts] article, .bank-panel [data-bank=obligations] article { padding: 1rem; background: #fffaf2; border: 1px solid #c5a57955; border-radius: 8px; margin-bottom: .8rem; }
.bank-summary span, .bank-summary strong { display: block; margin-bottom: .4rem; }
.bank-panel [role=status], .bank-panel [data-bank=backend] { background: #e8dcc4; padding: 1rem; border-radius: 6px; }
.bank-panel button:focus-visible, .bank-panel input:focus-visible, .bank-panel select:focus-visible { outline: 3px solid #966727; outline-offset: 3px; }
