/* Button action - base style only when not using Bootstrap .btn (so export buttons keep their background) */
.dt-button:not(.btn) {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: .25rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Export buttons: always show background (AdminLTE/Bootstrap btn-*), not only on hover */
.dt-buttons .btn-group .btn.dt-button {
  background-color: var(--button-bg, #6c757d);
  border-color: var(--button-border, #6c757d);
  color: #fff;
}

.dt-buttons .btn-group .btn.btn-success.dt-button {
  background-color: #28a745;
  border-color: #28a745;
  color: #fff;
}

.dt-buttons .btn-group .btn.btn-danger.dt-button {
  background-color: #dc3545;
  border-color: #dc3545;
  color: #fff;
}

.dt-buttons .btn-group .btn.btn-info.dt-button {
  background-color: #17a2b8;
  border-color: #17a2b8;
  color: #fff;
}

.dt-buttons .btn-group .btn.btn-outline-secondary.dt-button {
  background-color: #fff;
  border-color: #6c757d;
  color: #6c757d;
}

.dt-buttons .btn-group .btn {
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}

.dt-buttons .btn-group .btn:last-child {
  margin-right: 0;
}

/*Image upload*/
.image-preview-area,
.logo-preview-area {
  display: inline-block;
  position: relative;
}

.image-preview-area .image-preview,
.logo-preview-area .logo-preview {
  margin-top: 10px;
  display: inline-block;
  width: 142px;
  height: 140px;
  /*background-color: #A8A8A8;*/
  /*border: 1px solid #eee;*/
}

.image-preview-area .image-preview img,
.logo-preview-area .logo-preview img {
  /*border: 1px solid #eee;*/
  width: 140px;
}

.image-preview-verify,
.image-preview-verify img,
.logo-preview-verify,
.logo-preview-verify img {
  margin-top: 10px;
  position: relative;
}

.image-preview-verify img,
.logo-preview-verify img {
  z-index: 101;
}

.image-preview-verify img:first-child,
.logo-preview-verify img:first-child {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

.image-preview-area .delete-image-preview,
.logo-preview-area .delete-logo-preview {
  background-color: #fff;
  line-height: 1em;
  font-size: 1.2em;
  position: absolute;
  top: 20px;
  right: 10px;
  display: none;
  cursor: pointer;
}

.image-preview-area .delete-image-preview.show,
.logo-preview-area .delete-logo-preview.show {
  display: inline-block;
}

.image-preview-area .delete-image-preview i,
.logo-preview-area .delete-logo-preview i {
  border: solid 1px #fff;
  box-shadow: 0 0 8px #fff
}

.image-upload-label,
.logo-upload-label {
  color: #d9534f;
  display: block;
}

.reload {
  width: 100%;
  height: 140vw;
  position: absolute;
  z-index: 9999999999999;
  background: #FFF url(https://media.tenor.com/YPOStjIfQ2IAAAAM/loading-waiting.gif) no-repeat fixed center;
  opacity: 0.9;
}

.hide {
  display: none;
}

.datepicker-dropdown {
  z-index: 9999999999999999 !important;
}

#map-canvas {
  width: auto;
  height: 500px;
  border: 5px solid #d0e7ff;
}

#map-canvas-radius {
  width: 100%;
  min-width: 300px;
  height: 400px;
  border: 5px solid #d0e7ff;
  margin-top: 8px;
}

.datatables-margin-t45 {
  margin-top: 45px;
}

.swal2-input {
  margin: 0.3em auto !important;
}

.button-map {
  margin-bottom: 10px;
}

.img-thumbnail {
  width: 160px !important;
}

/* Fix Select2 styling issues */
.select2-container {
  width: 100% !important;
}

.select2-container--default .select2-selection--single {
  height: 38px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  background-color: #fff;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 36px;
  right: 8px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #6c757d transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-dropdown {
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.select2-search--dropdown {
  padding: 8px;
  border-bottom: 1px solid #e9ecef;
  display: block;
}

.select2-search--dropdown .select2-search__field {
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  padding: 6px 12px;
  width: 100% !important;
  outline: none;
  margin: 0;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Hide duplicate search field if exists */
.select2-container--default .select2-search--dropdown.select2-search--hide {
  display: none !important;
}

/* Ensure only one search field is visible */
.select2-dropdown .select2-search {
  display: block;
  padding: 8px;
}

.select2-dropdown .select2-search+.select2-search {
  display: none !important;
}

/* Remove any duplicate or empty input fields */
.select2-dropdown input:not(.select2-search__field) {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

.select2-dropdown .select2-search--dropdown:empty {
  display: none !important;
}

/* Ensure search field is properly styled and positioned */
.select2-dropdown .select2-search--dropdown {
  position: relative;
  display: block !important;
}

.select2-dropdown .select2-search--dropdown .select2-search__field {
  position: relative;
  z-index: 1;
  display: block !important;
  width: 100% !important;
}

/* Hide any duplicate containers */
.select2-dropdown>div:not(.select2-search):not(.select2-results) {
  display: none !important;
}

/* Ensure proper structure */
.select2-dropdown {
  display: block !important;
}

.select2-dropdown .select2-search {
  display: block !important;
}

.select2-results__option {
  padding: 8px 12px;
}

.select2-results__option--highlighted {
  background-color: #007bff;
  color: white;
}

.select2-results__option[aria-selected="true"] {
  background-color: #f8f9fa;
  color: #495057;
}

.select2-results__option[aria-selected="true"].select2-results__option--highlighted {
  background-color: #007bff;
  color: white;
}

/* ---- Filter card: align icon and input/select2 (all filter pages) ---- */
.input-group.input-group-sm {
  align-items: center;
}

.input-group.input-group-sm .input-group-prepend,
.input-group.input-group-sm .input-group-text {
  align-items: center;
  display: flex;
  height: 31px;
  min-height: 31px;
}

/* Icon size matches input height (proportional to form-control-sm) */
.input-group.input-group-sm .input-group-text i {
  font-size: 0.9375rem;
}

.input-group.input-group-sm .select2-container {
  height: 31px;
  flex: 1;
  min-width: 0;
}

.input-group.input-group-sm .select2-container .select2-selection--single {
  height: 31px !important;
  min-height: 31px !important;
}

.input-group.input-group-sm .select2-container .select2-selection__rendered {
  line-height: 29px;
}

.input-group.input-group-sm .select2-container .select2-selection__arrow {
  height: 29px;
}

/* User dropdown menu: design & colors from settings */
.user-menu .user-menu-dropdown {
  border-radius: 0.5rem;
  overflow: hidden;
  min-width: 14rem;
}
.user-menu .user-menu-header {
  padding: 1rem 1.25rem;
  text-align: center;
}
.user-menu .user-menu-avatar {
  border: 3px solid rgba(255, 255, 255, 0.3);
}
.user-menu .user-menu-name {
  margin: 0.25rem 0 0;
  font-weight: 600;
  font-size: 1rem;
}
.user-menu .user-menu-desc {
  opacity: 0.9;
  font-size: 0.8125rem;
  margin-top: 0.15rem;
}
.user-menu .user-menu-footer {
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
}
.user-menu .user-menu-footer .d-flex {
  flex-wrap: nowrap;
}
.user-menu .user-menu-profile-btn,
.user-menu .user-menu-logout-btn {
  border-radius: 0.35rem;
  font-size: 0.875rem;
  padding: 0.35rem 0.6rem;
}
.user-menu .user-menu-profile-btn:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.user-menu .user-menu-logout-btn:hover {
  background-color: rgba(220, 53, 69, 0.08);
}