/* Exchange composes the existing Bootstrap design; no separate theme or shell. */
.exchange-overview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.exchange-overview-heading > div { min-width: 0; }
.exchange-overview-heading > .btn { flex-shrink: 0; }
.exchange-empty { border: 1px dashed #adb5bd; border-radius: .375rem; padding: 2.5rem 1.5rem; text-align: center; }
.exchange-empty > .bi { display: block; font-size: 2rem; color: #6c757d; margin-bottom: 1rem; }
.exchange-empty p { margin-bottom: 0; }
.exchange-room { border: 1px solid #dee2e6; border-radius: .375rem; padding: 1.5rem; height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.exchange-room h2, .exchange-room p { margin: 0; }
.exchange-room .btn { margin-top: auto; }
.exchange-section { border-top: 1px solid #dee2e6; padding-top: 1.5rem; margin-top: 2rem; }
.exchange-section h2 { margin-bottom: 1rem; }
.exchange-kinds { display: grid; gap: .75rem; }
.exchange-kinds .form-check { padding: .75rem .75rem .75rem 2.5rem; border: 1px solid #dee2e6; border-radius: .375rem; }
.exchange-kinds .form-check:has(input:checked) { border-color: #0d6efd; }
.exchange-kinds label { display: block; cursor: pointer; }
.exchange-file-name, .exchange-member-name, .exchange-room h2 { overflow-wrap: anywhere; min-width: 0; }
.exchange-file-name { flex: 1 1 12rem; }
.exchange-file-name strong { display: block; }
.exchange-list-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.exchange-code { max-width: 16rem; font-size: 1.5rem; letter-spacing: .3em; }
.exchange-audit { border-top: 1px solid #dee2e6; padding-top: 1.5rem; }
.exchange-audit summary { cursor: pointer; }
@media (max-width: 767.98px) {
 .exchange-overview-heading { flex-direction: column; }
 .exchange-overview-heading > .btn { width: 100%; }
}
