/* Shared touch and small-screen adjustments; loaded after the theme. */
@media screen and (max-width: 1024px) {
  .wrapper > section, .content-wrapper, .panel-body { min-width: 0; }
  .table-responsive { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .modal-dialog { max-width: calc(100% - 20px); margin-left: auto; margin-right: auto; }
  .modal-content { overflow-wrap: break-word; }
  .modal-body { -webkit-overflow-scrolling: touch; }
  .panel-heading .custom-search-select, .panel-title .custom-search-select { min-width: 0; max-width: 100%; }
  .select2-container { max-width: 100%; }
}
@media screen and (pointer: coarse) {
  /* Keep form text readable and avoid focus zoom on mobile browsers. */
  input.form-control, select.form-control, textarea.form-control,
  .login-container input, .select2-search__field { font-size: 16px; }
  .btn, .custom-search-select__toggle { min-height: 44px; }
  .modal-header .close { min-width: 44px; min-height: 44px; }
}
@media screen and (max-width: 767px) {
  .content-wrapper { padding: 12px; }
  .nav-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .nav-tabs > li { flex: 0 0 auto; float: none; }
  .modal-dialog { width: auto; margin-top: 10px; margin-bottom: 10px; }
  .login-container { min-height: 100vh; min-height: 100dvh; padding-left: 12px; padding-right: 12px; }
  .login-tabs .btn { min-width: 0; }
}
