.autocomplete-suggestions { 
	border: 1px solid #dee2e6; 
	background: #FFF; 
	overflow: auto; 

	border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}
.autocomplete-suggestion { 
	padding: .25rem .5rem;
	white-space: nowrap; 
	overflow: hidden; 
	cursor:pointer 
}
.autocomplete-selected { 
	background: #eee; 
}
.autocomplete-suggestions strong { 
	font-weight: normal; 
	color: #0d6efd; 
}
.autocomplete-group { 
	padding: 2px 5px; 
}
.autocomplete-group strong { 
	display: block; 
	border-bottom: 1px solid #000; 
}
.table-hover>tbody>tr:hover>*{
	background-color:#99CCFF !important;
}
.thumb{
	max-width:100px;
}
.modal-target {
  width: 300px;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}

.modal-target:hover {opacity: 0.7;}

/* Только лайтбокс картинок из footer (#modal). Не трогать Bootstrap .modal — иначе z-index:1 окажется под .modal-backdrop */
#modal {
  display: none;
  position: fixed;
  z-index: 1060;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.8);
}

#modal-content {
  margin: auto;
  display: block;
  width: 80%;
  opacity: 1 !important;
  max-width: 1200px;
}

#modal-caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 1200px;
  text-align: center;
  color: white;
  font-weight: 700;
  font-size: 1em;
  margin-top: 32px;
}

#modal-content,
#modal-caption {
  -webkit-animation-name: zoom;
  -webkit-animation-duration: 0.6s;
  animation-name: zoom;
  animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
  from {-webkit-atransform:scale(0)} 
  to {-webkit-transform:scale(1)}
}

@keyframes zoom {
  from {transform:scale(0)} 
  to {transform:scale(1)}
}

#modal-close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
}

#modal-close:hover,
#modal-close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

.btn-warning {
  --bs-btn-color: #fff;
}

.flags {
  height: 24px;
}

/* Глобальный фон админки: chat_fon.jpg (полупрозрачный слой на ::before) */
body.has-admin-panel-bg {
  background-color: var(--bs-body-bg, #f8f9fa);
  min-height: 100vh;
}

body.has-admin-panel-bg::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: url("../img/chat_fon.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  opacity: 0.5;
}

body.admin-app:not(.has-admin-panel-bg):not(.is-embed-mode) {
  background-color: var(--bs-body-bg, #fff);
}

body.has-admin-panel-bg .card,
body.has-admin-panel-bg .card-header,
body.has-admin-panel-bg .card-footer {
  background-color: #fff !important;
}

body.has-admin-panel-bg .table {
  --bs-table-bg: #fff;
  background-color: #fff;
}

body.has-admin-panel-bg .list-group-item {
  background-color: #fff;
}

body.has-admin-panel-bg .alert {
  background-color: var(--bs-alert-bg, #fff);
}

body.has-admin-panel-bg .modal-content {
  background-color: #fff;
}

body.has-admin-panel-bg .border.bg-light,
body.has-admin-panel-bg .bg-white {
  background-color: #fff !important;
}

/* Чат в iframe: навигация скрыта, узлы в DOM для скриптов */
.is-embed-mode header {
  display: none !important;
}
.is-embed-mode .staffchat-page {
  padding-top: 0 !important;
  margin-top: 0 !important;
  --staffchat-page-offset: 0px !important;
}

/* Блокировка прокрутки основной страницы при открытом оверлее чата */
body.chat-scroll-lock {
  overflow: hidden !important;
}

/* Плавающая правая «карточка» (под контент, как блоки статистики) — только у ролей с чатом */
body:not(.is-embed-mode):has(.for_staffchat_badge) .container-fluid {
  padding-right: 90px !important;
}

#floating-right-bar {
  display: none;
  position: fixed;
  /* как у .container-fluid под шапкой: высота header + margin-bottom (mb-4), см. footer.php */
  top: var(--floating-right-bar-top, 5.25rem);
  bottom: 15px;
  right: 15px;
  width: 60px;
  background-color: transparent;
  border: 1px solid rgba(0, 0, 0, 0.125);
  /* как у .card в Bootstrap (страницы вроде «Статистика») */
  border-radius: var(--bs-border-radius, 0.375rem);
  z-index: 900;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  padding: 8px 1px 8px 0;
  overflow: hidden;
}

body:not(.is-embed-mode):has(.for_staffchat_badge) #floating-right-bar {
  display: flex;
}

.is-embed-mode #floating-right-bar {
  display: none !important;
}

/* Прокрутка списка чатов: тонкий скролл (не затрагивает страницу целиком) */
#floating-right-bar .floating-chat-bar-inner {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
  scrollbar-gutter: stable;
}

#floating-right-bar .floating-chat-bar-inner::-webkit-scrollbar {
  width: 4px;
}

#floating-right-bar .floating-chat-bar-inner::-webkit-scrollbar-track {
  background: transparent;
}

#floating-right-bar .floating-chat-bar-inner::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

#floating-right-bar .floating-chat-bar-inner::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.4);
}

.floating-chat-bar-inner {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-height: 0;
}

.floating-chat-item {
  margin: 0;
  padding: 0;
  flex-shrink: 0;
}

.floating-chat-btn {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
  line-height: 0;
  transition: transform 0.15s ease;
}

.floating-chat-btn:hover,
.floating-chat-btn:focus-visible {
  transform: scale(1.08);
  outline: none;
}

.floating-chat-avatar-wrap {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
}

.floating-chat-avatar-img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}

.floating-chat-avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}

.floating-chat-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 4px;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1.1rem;
  color: #fff;
  background: #dc3545;
  border-radius: 999px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}

.floating-chat-badge[hidden] {
  display: none !important;
}

/* Оверлей чата на основной странице (под меню 64px) */
#chat-overlay-wrapper {
  position: fixed;
  top: 64px;
  left: 0;
  width: 100%;
  height: calc(100% - 64px);
  z-index: 10000;
  display: none;
}

.chat-overlay-backdrop,
#chat-overlay-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}

#chat-sidebar {
  position: absolute;
  top: 0;
  right: -90%;
  width: 90%;
  height: 100%;
  max-width: 100%;
  background: #fff;
  z-index: 10001;
  transition: right 0.3s ease;
  box-shadow: -12px 0 40px rgba(0, 0, 0, 0.22), -4px 0 16px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
}

body #chat-sidebar.is-open {
  right: 0 !important;
}

.chat-sidebar-body {
  flex: 1 1 0;
  min-height: 0;
  position: relative;
}

.chat-sidebar-iframe,
#chat-sidebar-iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 280px;
  border: 0;
}

/* Мобильная адаптация (<lg). Десктоп ≥992px не затрагивается. */
@media (max-width: 991.98px) {
  /* Плавающий правый сайдбар чата и оверлей чата — только десктоп */
  #floating-right-bar { display: none !important; }
  #chat-overlay-wrapper { display: none !important; }
  body.has-admin-panel-bg:has(.for_staffchat_badge) .container-fluid { padding-right: 0 !important; }
  body.chat-scroll-lock { overflow: auto !important; }

  /* Мобильное бургер-меню */
  .admin-mobile-nav { margin-top: 0.25rem; }
  .admin-mobile-nav .nav-link { padding: 0.5rem 0.75rem; }
  .admin-mobile-nav .dropdown-menu {
    position: static;
    float: none;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .admin-mobile-nav .dropdown-item { color: #fff; }
  .admin-mobile-nav .dropdown-item:hover,
  .admin-mobile-nav .dropdown-item:focus { background-color: rgba(255, 255, 255, 0.1); color: #fff; }
  .admin-mobile-nav .worker-break-bar { color: #fff; }
  .admin-burger { line-height: 1; padding: 0.25rem 0.5rem; }
  .admin-burger .bi { font-size: 1.25rem; }
  .admin-mobile-quick-btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.2;
    white-space: nowrap;
  }
  .admin-mobile-quick-btn .badge { margin-left: 0.25rem; }
  .admin-logout-btn { padding: 0.25rem 0.5rem; }
}