/* Scoped modal layout for the portal's Bootstrap 4.0 baseline. */
.cage-mobile-details { display: none; }
@media (max-width: 767.98px) { .cage-mobile-details { display: flex; align-items: center; } }
#customerDetailsModal .modal-content,
#addCustomerModal .modal-content,
#addStaffModal .modal-content,
#staffDetailsModal .modal-content { color: #edf2fa; }
#customerDetailsModal .modal-title, #customerDetailsModal .h3, #customerDetailsModal h5,
#customerDetailsModal .table, #customerDetailsModal .table th, #customerDetailsModal .table td,
#staffDetailsModal .modal-title, #staffDetailsModal h5, #staffDetailsModal dd,
#addCustomerModal .modal-title, #addStaffModal .modal-title { color: #edf2fa !important; }
#customerDetailsModal .text-muted, #staffDetailsModal .text-muted,
#addCustomerModal .text-muted, #addStaffModal .text-muted { color: #b7c5d9 !important; }
#customer-inventory-stats .card { background: #28354d; border: 1px solid #3c4d68; }
#customer-inventory-stats .h3 { font-size: 1.5rem; margin-top: .3rem; }
.table-export-toolbar .btn-outline-primary, button.table-export-toolbar.btn-outline-primary,
#customerDetailsModal .btn-outline-primary { color: #9bc5ff; border-color: #619bef; }
#customerDetailsModal .modal-dialog { width: calc(100% - 2rem); max-width: 1140px; }
#addCustomerModal .modal-dialog,
#addStaffModal .modal-dialog,
#staffDetailsModal .modal-dialog { width: calc(100% - 2rem); max-width: 860px; }
#customerDetailsModal .modal-content,
#addCustomerModal .modal-content,
#addStaffModal .modal-content,
#staffDetailsModal .modal-content { max-height: calc(100vh - 3.5rem); }
#customerDetailsModal .modal-body,
#addCustomerModal .modal-body,
#addStaffModal .modal-body,
#staffDetailsModal .modal-body { overflow-y: auto; overscroll-behavior: contain; }
#customerDetailsModal .modal-header,
#customerDetailsModal .modal-footer,
#addCustomerModal .modal-header,
#addCustomerModal .modal-footer,
#addStaffModal .modal-header,
#addStaffModal .modal-footer,
#staffDetailsModal .modal-header,
#staffDetailsModal .modal-footer { flex-shrink: 0; }
#customerDetailsModal .modal-header,
#addCustomerModal .modal-header,
#addStaffModal .modal-header,
#staffDetailsModal .modal-header { align-items: flex-start; }
#customerDetailsModal .close,
#addCustomerModal .close,
#addStaffModal .close,
#staffDetailsModal .close { color: inherit; }
#customerDetailsModal .form-control,
#addCustomerModal .form-control,
#addStaffModal .form-control { background-color: #1f283e; color: #f3f5f7; border-color: #506079; }
#customerDetailsModal .form-control:disabled { opacity: 1; color: #dce3ec; background-color: #202940; }
#customerDetailsModal .form-control:focus,
#addCustomerModal .form-control:focus,
#addStaffModal .form-control:focus { border-color: #82b8fa; box-shadow: 0 0 0 .15rem rgba(130,184,250,.2); }
#customerDetailsModal summary,
#addCustomerModal summary,
#addStaffModal summary { cursor: pointer; }
#customerDetailsModal .nav-pills { gap: .25rem; }
#customer-cages-datatable,
#customer-list-datatable,
#staff-list-datatable { font-size: .9rem; }
#customer-cages-datatable th,
#customer-list-datatable th,
#staff-list-datatable th { white-space: nowrap; }
#customer-detail-address,
#staff-detail-email { overflow-wrap: anywhere; }
#staff-detail-permissions .badge { white-space: normal; text-align: left; line-height: 1.4; }
.cw-table-scroll { max-width: 100%; -webkit-overflow-scrolling: touch; }
.cw-table-scroll:focus-visible { outline: 2px solid #82b8fa; outline-offset: 3px; }
.cw-table-shell { min-width: 0; max-width: 100%; }
.cw-table-controls, .cw-table-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem; margin: .75rem 0; }
.cw-table-controls > div, .cw-table-footer > div { float: none !important; min-width: 0; padding: 0 !important; }
.cw-table-controls label { margin: 0; white-space: normal !important; }
.cw-table-controls .dataTables_filter { margin-left: auto; }
.cw-table-controls .dataTables_filter input { width: 12rem; max-width: 100%; }
.cw-table-footer .pagination { margin: 0 !important; }
.cw-responsive-table { overflow-wrap: normal; }
.cw-responsive-table .cw-table-identity { min-width: 10rem; max-width: 17rem; white-space: normal; overflow-wrap: break-word; word-break: normal; }
.cw-responsive-table .cw-table-serial { white-space: nowrap; }
.cw-responsive-table .cw-row-details { display: block; width: fit-content; margin-top: .5rem; min-height: 32px; }
.cw-responsive-table:not(.collapsed) .cw-row-details { display: none; }
.cw-table-date { display: inline-flex; flex-direction: column; white-space: nowrap; line-height: 1.5; }
.cw-table-date small { color: #bac4d3; }
table.cw-responsive-table > tbody > tr.child { background: rgba(10, 18, 35, .22); }
table.cw-responsive-table > tbody > tr.child ul.dtr-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .75rem 1.5rem; width: 100%; text-align: left; }
table.cw-responsive-table > tbody > tr.child ul.dtr-details > li { display: block; padding: 0; border: 0; white-space: normal; min-width: 0; }
table.cw-responsive-table > tbody > tr.child span.dtr-title { display: block; color: #b7c5d9; font-size: .8rem; margin: 0 0 .2rem; }
table.cw-responsive-table > tbody > tr.child span.dtr-data { display: block; white-space: normal; overflow-wrap: anywhere; }
.cw-account-modal .modal-header > div { min-width: 0; }
.cw-account-modal .modal-title,
.cw-account-modal .alert,
#staff-detail-content { overflow-wrap: anywhere; }
.cw-account-modal fieldset { min-width: 0; }
.cw-account-modal label { color: #edf2fa !important; }
.cw-permission-options { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.cw-permission-options label,
#addStaffForm .permission-matrix label { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; margin: 0; cursor: pointer; }
.cw-permission-options input[type="checkbox"],
#addStaffForm .permission-matrix input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 20px; margin: 0; accent-color: #6faeff; }
#addStaffForm .permission-matrix .cw-permission-label { display: none; }
#addStaffForm .permission-matrix th,
#addStaffForm .permission-matrix td { vertical-align: middle; }
@media (max-width: 991.98px) {
  #customer-list-datatable th:first-child, #staff-list-datatable th:first-child,
  #customer-list-datatable td:first-child, #staff-list-datatable td:first-child { width: 9rem; min-width: 9rem; max-width: 12rem; white-space: normal; overflow-wrap: anywhere; }
  .cw-account-modal .modal-footer { flex-wrap: wrap; gap: .5rem; }
  .cw-account-modal .modal-footer > .btn { margin: 0 !important; min-height: 44px; white-space: normal; }
  .cw-account-modal .modal-footer > .mr-auto { margin-right: auto !important; }
  .cw-account-modal .close { flex-shrink: 0; min-width: 44px; min-height: 44px; }
  .cw-account-modal .form-control { font-size: 16px; }
  .cw-account-modal summary { min-height: 44px; }
}
@media (max-width: 575.98px) {
  .cw-table-controls > div { flex-basis: 100%; }
  #customer-list-datatable th:first-child, #customer-list-datatable td:first-child { min-width: 8rem; width: 8rem; }
  #customerDetailsModal .modal-dialog,
  #addCustomerModal .modal-dialog,
  #addStaffModal .modal-dialog,
  #staffDetailsModal .modal-dialog { width: calc(100% - 1rem); margin: .5rem auto; }
  #customerDetailsModal .modal-content,
  #addCustomerModal .modal-content,
  #addStaffModal .modal-content,
  #staffDetailsModal .modal-content { max-height: calc(100vh - 1rem); }
  #customerDetailsModal .modal-body,
  #addCustomerModal .modal-body,
  #addStaffModal .modal-body,
  #staffDetailsModal .modal-body { padding: 1rem; }
  #customerDetailsModal .nav-link { padding: .65rem .75rem; }
  .cw-account-modal .modal-title { font-size: 1.25rem; }
  .cw-account-modal .modal-header { padding: 1rem; }
  .cw-account-modal .close { margin: -.5rem -.5rem -.5rem .5rem; padding: .5rem; }
  .cw-account-modal .modal-footer { padding: .75rem 1rem; }
  .cw-account-modal .modal-footer > .btn { flex: 1 1 8rem; }
  #customerDetailsModal .nav-pills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #customerDetailsModal .nav-pills .nav-item:first-child { grid-column: 1 / -1; }
  #customerDetailsModal .nav-pills .nav-link { height: 100%; display: flex; align-items: center; justify-content: center; white-space: normal; text-align: center; }
  #customer-inventory-stats { margin-left: -.375rem; margin-right: -.375rem; }
  #customer-inventory-stats > div { padding-left: .375rem; padding-right: .375rem; }
  #customer-inventory-stats .card-body { padding: .75rem !important; }
  #customer-inventory-stats .h3 { overflow-wrap: anywhere; }
  .cw-permission-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-permission-options label { min-width: 0; align-items: flex-start; padding: .65rem 0; line-height: 1.4; }
  #addStaffForm .permission-matrix,
  #addStaffForm .permission-matrix tbody { display: block; }
  #addStaffForm .permission-matrix thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  #addStaffForm .permission-matrix tr { display: flex; flex-wrap: wrap; padding: .75rem; margin-bottom: .75rem; border: 1px solid #506079; border-radius: .5rem; }
  #addStaffForm .permission-matrix th[scope="row"] { display: block; width: 100%; padding: 0 0 .4rem !important; border: 0; }
  #addStaffForm .permission-matrix td { display: block; width: 50%; padding: 0 !important; border: 0; }
  #addStaffForm .permission-matrix td[colspan] { width: 100%; }
  #addStaffForm .permission-matrix .cw-permission-empty { display: none; }
  #addStaffForm .permission-matrix .cw-permission-label { display: inline; }
  #addStaffForm .permission-matrix label { width: 100%; padding: .4rem 0; color: inherit; }
}
