/* ===== FullCalendar Sneat-like ===== */
.fc {
  --fc-border-color: #d9dee3;
  --fc-button-bg-color: #696cff;
  --fc-button-border-color: #696cff;
  --fc-button-hover-bg-color: #5f61e6;
  --fc-button-hover-border-color: #5f61e6;
  --fc-button-active-bg-color: #5658d7;
  --fc-button-active-border-color: #5658d7;
  font-size: 0.85rem;
  border-radius: 0.5rem;
}

/* Заголовок календаря */
.fc-toolbar-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: #566a7f;
}

/* Кнопки тулбара */
.fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 1.5rem;
}
.fc-toolbar-chunk .fc-button {
  border-radius: 0.5rem !important;
  font-weight: 500;
}

/* Ячейки календаря */
.fc .fc-daygrid-day {
  transition: background-color 0.2s ease-in-out;
}
.fc .fc-daygrid-day:hover {
  background-color: rgba(105, 108, 255, 0.04);
}

/* События */
.fc-event {
  border: none;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  padding: 2px 6px;
  font-weight: 500;
}

/* Цвета для разных статусов */
.fc-event.done {
  background-color: #71dd37 !important;
  color: #fff !important;
}
.fc-event.in-progress {
  background-color: #03c3ec !important;
  color: #fff !important;
}
.fc-event.cancelled {
  background-color: #ff3e1d !important;
  color: #fff !important;
}

/* ===== ИСПРАВЛЕНИЯ ЛЕВОГО ЗАЗОРА В МЕНЮ ===== */
/* Убираем левый зазор на всех устройствах */
.layout-menu {
  left: 0 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Убираем внутренние отступы Sneat */
.layout-menu .menu {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.layout-menu .menu-inner {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.layout-menu .menu-item {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.layout-menu .menu-link {
  padding-left: 1rem !important;
  margin-left: 0 !important;
}

.layout-menu .app-brand {
  padding-left: 1rem !important;
  margin-left: 0 !important;
}

/* Исправляем подменю */
.layout-menu .menu-sub {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.layout-menu .menu-sub .menu-link {
  padding-left: 2.5rem !important;
}

/* Мобильные исправления */
@media (max-width: 1024px) {
  .layout-menu {
    left: 0 !important;
    transform: translateX(-100%) !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .layout-menu.menu-open {
    transform: translateX(0) !important;
    left: 0 !important;
  }

  /* Убираем тени и псевдоэлементы */
  .layout-menu .menu-inner-shadow {
    display: none !important;
  }
}

/* === Mobile: убираем левый «гуттер» у контента и тени у меню === */
@media (max-width: 1199.98px) {
  /* контент сразу после aside без левого зазора */
  #layout-menu + .layout-page {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* на всякий случай — если где-то переопределено через .layout-menu-fixed */
  .layout-menu-fixed #layout-menu + .layout-page,
  .layout-menu-fixed .layout-page,
  .layout-container,
  .content-wrapper {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* меню полностью за экран (сохраняется твоя анимация translateX) */
  #layout-menu {
    border-right: 0 !important;
  }
  #layout-menu .menu-inner-shadow {
    display: none !important;
  }

  /* режем горизонтальный скролл, чтобы не было сабпиксельной кромки */
  html,
  body {
    overflow-x: hidden !important;
  }
}

/* ===== МОБИЛЬНЫЕ СТИЛИ ДЛЯ ЗАКАЗОВ ECOMMERCE ===== */
/* Исправляем огромные кнопки в карточках заказов на мобилке */
@media (max-width: 768px) {
  /* Мобильные карточки заказов - делаем более компактными */
  .order-mobile-card .card-body {
    padding: 1rem !important;
  }

  /* Кнопки в мобильных карточках - уменьшаем размер */
  .order-mobile-card .btn {
    padding: 0.375rem 0.75rem !important;
    font-size: 0.75rem !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0.375rem !important;
  }

  /* Иконки в кнопках - уменьшаем */
  .order-mobile-card .btn i {
    font-size: 0.7rem !important;
  }

  /* Группа кнопок - делаем более компактной */
  .order-mobile-card .order-actions {
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
  }

  /* Заголовок заказа - уменьшаем размер */
  .order-mobile-card .order-header {
    margin-bottom: 0.75rem !important;
  }

  .order-mobile-card .order-number {
    font-size: 1rem !important;
    font-weight: 600 !important;
  }

  /* Статус заказа - уменьшаем размер */
  .order-mobile-card .status-badge {
    font-size: 0.75rem !important;
    padding: 0.25rem 0.5rem !important;
  }

  /* Детали заказа - уменьшаем отступы */
  .order-mobile-card .order-details {
    margin-bottom: 0.75rem !important;
  }

  /* Информация о заказе - уменьшаем размер */
  .order-mobile-card .order-info {
    font-size: 0.8rem !important;
  }

  /* Цена заказа - уменьшаем размер */
  .order-mobile-card .order-total {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
  }
}

/* Дополнительные исправления для очень маленьких экранов */
@media (max-width: 576px) {
  /* Еще более компактные кнопки */
  .order-mobile-card .btn {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.7rem !important;
    min-width: 24px !important;
    width: auto !important;
    height: 28px !important;
  }

  /* Иконки еще меньше */
  .order-mobile-card .btn i {
    font-size: 0.65rem !important;
  }

  /* Группа кнопок - минимальные отступы */
  .order-mobile-card .order-actions {
    gap: 0.25rem !important;
  }

  /* Карточка - минимальные отступы */
  .order-mobile-card .card-body {
    padding: 0.75rem !important;
  }

  /* Заголовок заказа - еще компактнее */
  .order-mobile-card .order-header {
    margin-bottom: 0.5rem !important;
  }

  .order-mobile-card .order-number {
    font-size: 0.9rem !important;
  }

  /* Статус заказа - еще компактнее */
  .order-mobile-card .status-badge {
    font-size: 0.7rem !important;
    padding: 0.2rem 0.4rem !important;
  }

  /* Детали заказа - минимальные отступы */
  .order-mobile-card .order-details {
    margin-bottom: 0.5rem !important;
  }

  /* Информация о заказе - еще меньше */
  .order-mobile-card .order-info {
    font-size: 0.75rem !important;
  }

  /* Цена заказа - еще меньше */
  .order-mobile-card .order-total {
    font-size: 0.8rem !important;
  }
}

/* ===== МОБИЛЬНЫЕ СТИЛИ ДЛЯ ЗАГОЛОВКА ECOMMERCE ===== */
/* Исправляем огромные кнопки в заголовке блока заказов на мобилке */
@media (max-width: 768px) {
  /* Кнопки в заголовке - уменьшаем размер */
  .page-header .btn {
    padding: 0.375rem 0.75rem !important;
    font-size: 0.75rem !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0.375rem !important;
  }

  /* Иконки в кнопках заголовка - уменьшаем */
  .page-header .btn i {
    font-size: 0.7rem !important;
  }

  /* Группа кнопок в заголовке - делаем более компактной */
  .page-header .header-actions {
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
  }

  /* Заголовок страницы - уменьшаем отступы */
  .page-header {
    padding: 1rem 0 !important;
    margin-bottom: 1rem !important;
  }

  /* Заголовок и подзаголовок - уменьшаем размер */
  .page-title {
    font-size: 1.25rem !important;
  }

  .page-subtitle {
    font-size: 0.8rem !important;
  }

  /* Иконка страницы - уменьшаем размер */
  .page-icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 1rem !important;
  }
}

/* Дополнительные исправления для очень маленьких экранов */
@media (max-width: 576px) {
  /* Еще более компактные кнопки в заголовке */
  .page-header .btn {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.7rem !important;
    min-width: 24px !important;
    width: auto !important;
    height: 28px !important;
  }

  /* Иконки еще меньше */
  .page-header .btn i {
    font-size: 0.65rem !important;
  }

  /* Группа кнопок - минимальные отступы */
  .page-header .header-actions {
    gap: 0.25rem !important;
  }

  /* Заголовок страницы - минимальные отступы */
  .page-header {
    padding: 0.75rem 0 !important;
    margin-bottom: 0.75rem !important;
  }

  /* Заголовок и подзаголовок - еще меньше */
  .page-title {
    font-size: 1.1rem !important;
  }

  .page-subtitle {
    font-size: 0.75rem !important;
  }

  /* Иконка страницы - еще меньше */
  .page-icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 0.9rem !important;
  }
}

/* ===== МОБИЛЬНЫЕ СТИЛИ ДЛЯ КНОПОК УПРАВЛЕНИЯ ECOMMERCE ===== */
/* Исправляем огромные кнопки "Выделить все", "Снять выбор", "Быстрые действия" на мобилке */
@media (max-width: 768px) {
  /* Кнопки управления - уменьшаем размер */
  #btnSelectAll,
  #btnDeselectAll,
  #btnQuickActions {
    padding: 0.375rem 0.75rem !important;
    font-size: 0.75rem !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0.375rem !important;
  }

  /* Иконки в кнопках управления - уменьшаем */
  #btnSelectAll i,
  #btnDeselectAll i,
  #btnQuickActions i {
    font-size: 0.7rem !important;
  }

  /* Группа кнопок управления - делаем более компактной */
  .d-flex.gap-2 {
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
  }

  /* Кнопки экспорта - уменьшаем размер */
  #btnExportSelected,
  #btnExportAll {
    padding: 0.375rem 0.75rem !important;
    font-size: 0.75rem !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
  }

  /* Иконки в кнопках экспорта - уменьшаем */
  #btnExportSelected i,
  #btnExportAll i {
    font-size: 0.7rem !important;
  }

  /* Кнопки быстрых действий - уменьшаем размер */
  #btnAddTracking,
  #btnPrint,
  #btnDelete {
    padding: 0.375rem 0.75rem !important;
    font-size: 0.75rem !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
  }

  /* Иконки в кнопках быстрых действий - уменьшаем */
  #btnAddTracking i,
  #btnPrint i,
  #btnDelete i {
    font-size: 0.7rem !important;
  }
}

/* Дополнительные исправления для очень маленьких экранов */
@media (max-width: 576px) {
  /* Еще более компактные кнопки управления */
  #btnSelectAll,
  #btnDeselectAll,
  #btnQuickActions {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.7rem !important;
    min-width: 24px !important;
    width: auto !important;
    height: 28px !important;
  }

  /* Иконки еще меньше */
  #btnSelectAll i,
  #btnDeselectAll i,
  #btnQuickActions i {
    font-size: 0.65rem !important;
  }

  /* Группа кнопок - минимальные отступы */
  .d-flex.gap-2 {
    gap: 0.25rem !important;
  }

  /* Кнопки экспорта - еще компактнее */
  #btnExportSelected,
  #btnExportAll {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.7rem !important;
    min-width: 24px !important;
    width: auto !important;
    height: 28px !important;
  }

  /* Иконки экспорта - еще меньше */
  #btnExportSelected i,
  #btnExportAll i {
    font-size: 0.65rem !important;
  }

  /* Кнопки быстрых действий - еще компактнее */
  #btnAddTracking,
  #btnPrint,
  #btnDelete {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.7rem !important;
    min-width: 24px !important;
    width: auto !important;
    height: 28px !important;
  }

  /* Иконки быстрых действий - еще меньше */
  #btnAddTracking i,
  #btnPrint i,
  #btnDelete i {
    font-size: 0.65rem !important;
  }
}

/* ===== ИСПРАВЛЕНИЕ ПРОБЛЕМЫ С ДЕРГАНИЕМ КОНТЕНТА В МОДАЛЬНЫХ ОКНАХ ===== */
/* Предотвращаем сдвиг контента при открытии/закрытии модальных окон */

/* Убираем автоматический padding-right от Bootstrap */
body.modal-open {
  padding-right: 0 !important;
  margin-right: 0 !important;
  overflow: hidden !important;
}

/* Предотвращаем сдвиг контента */
body {
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Убираем все возможные сдвиги при открытии модалок */
.modal-open {
  padding-right: 0 !important;
  margin-right: 0 !important;
}

/* Убираем сдвиг на мобильных устройствах */
@media (max-width: 768px) {
  .modal-open {
    padding-right: 0 !important;
    margin-right: 0 !important;
  }
}

/* ===== СТИЛИ ДЛЯ МОДАЛЬНОГО ОКНА УПРАВЛЕНИЯ ПОЛЬЗОВАТЕЛЯМИ ===== */
/* Ограничиваем ширину модальных окон */
#editUserModal .modal-dialog {
  max-width: 600px;
  width: 90%;
}

#usersManagementModal .modal-dialog {
  max-width: 800px;
  width: 90%;
}

/* ===== СТИЛИ ТЕМНОЙ ТЕМЫ ДЛЯ МОДАЛЬНЫХ ОКОН ===== */
/* Основные стили темной темы для модальных окон */
[data-bs-theme='dark'] #editUserModal .modal-content,
[data-bs-theme='dark'] #usersManagementModal .modal-content {
  border: 1px solid #444564 !important;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
  background: #2b2c40 !important;
}

[data-bs-theme='dark'] #editUserModal .modal-header,
[data-bs-theme='dark'] #usersManagementModal .modal-header {
  background: #444564 !important;
  color: #a3a4cc !important;
  border-bottom-color: #444564 !important;
}

[data-bs-theme='dark'] #editUserModal .modal-body,
[data-bs-theme='dark'] #usersManagementModal .modal-body {
  background: #2b2c40 !important;
  color: #a3a4cc !important;
}

[data-bs-theme='dark'] #editUserModal .modal-footer,
[data-bs-theme='dark'] #usersManagementModal .modal-footer {
  background: #444564 !important;
  border-top-color: #444564 !important;
}

[data-bs-theme='dark'] #editUserModal .modal-title,
[data-bs-theme='dark'] #usersManagementModal .modal-title {
  color: #a3a4cc !important;
}

[data-bs-theme='dark'] #editUserModal .modal-icon,
[data-bs-theme='dark'] #usersManagementModal .modal-icon {
  background: #3a3a5a !important;
  color: #696cff !important;
  border-color: #3a3a5a !important;
}

[data-bs-theme='dark'] #editUserModal .btn-outline-secondary,
[data-bs-theme='dark'] #usersManagementModal .btn-outline-secondary {
  color: #a3a4cc !important;
  border-color: #444564 !important;
  background: #2b2c40 !important;
}

[data-bs-theme='dark'] #editUserModal .btn-outline-secondary:hover,
[data-bs-theme='dark'] #usersManagementModal .btn-outline-secondary:hover {
  background: #a3a4cc !important;
  border-color: #a3a4cc !important;
  color: #2b2c40 !important;
}

/* Формы в темной теме */
[data-bs-theme='dark'] #editUserModal .form-control,
[data-bs-theme='dark'] #editUserModal .form-select,
[data-bs-theme='dark'] #usersManagementModal .form-control,
[data-bs-theme='dark'] #usersManagementModal .form-select {
  background: #2b2c40 !important;
  border-color: #444564 !important;
  color: #a3a4cc !important;
}

[data-bs-theme='dark'] #editUserModal .form-control:focus,
[data-bs-theme='dark'] #editUserModal .form-select:focus,
[data-bs-theme='dark'] #usersManagementModal .form-control:focus,
[data-bs-theme='dark'] #usersManagementModal .form-select:focus {
  background: #2b2c40 !important;
  border-color: #696cff !important;
  color: #a3a4cc !important;
  box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.25) !important;
}

[data-bs-theme='dark'] #editUserModal .form-label,
[data-bs-theme='dark'] #usersManagementModal .form-label {
  color: #a3a4cc !important;
}

/* Таблицы в темной теме */
[data-bs-theme='dark'] #usersManagementModal .table {
  color: #a3a4cc !important;
}

[data-bs-theme='dark'] #usersManagementModal .table th {
  background: #444564 !important;
  color: #a3a4cc !important;
  border-color: #444564 !important;
}

[data-bs-theme='dark'] #usersManagementModal .table td {
  background: #2b2c40 !important;
  color: #a3a4cc !important;
  border-color: #444564 !important;
}

[data-bs-theme='dark'] #usersManagementModal .table-striped > tbody > tr:nth-of-type(odd) > td {
  background: #32334a !important;
}

/* Backdrop в темной теме */
[data-bs-theme='dark'] #editUserModal .modal-backdrop,
[data-bs-theme='dark'] #usersManagementModal .modal-backdrop {
  background-color: rgba(0, 0, 0, 0.5) !important;
}

/* ===== СТИЛИ ДЛЯ ЧЕКБОКСОВ В НАСТРОЙКАХ МОДУЛЕЙ ===== */
/* Основные стили чекбоксов */
#editUserModal .form-check-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 1.25em;
  height: 1.25em;
  border: 2px solid #d1d5db;
  border-radius: 0.375rem;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70% 70%;
  transition: all 0.2s ease-in-out;
}

/* Галочка в чекбоксах */
#editUserModal .form-check-input:checked {
  background-color: #696cff;
  border-color: #696cff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='M5 10.5l3 3 7-7'/%3e%3c/svg%3e") !important;
}

/* Ховер/фокус чекбоксов */
#editUserModal .form-check-input:hover:not(:disabled),
#editUserModal .form-check-input:focus:not(:disabled) {
  border-color: #696cff;
  box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.25);
}

/* Лейблы чекбоксов */
#editUserModal .form-check-label {
  color: #566a7f;
  font-weight: 500;
  font-size: 0.875rem;
  margin-left: 0.5rem;
}

/* Темная тема для чекбоксов */
[data-bs-theme='dark'] #editUserModal .form-check-input {
  border-color: #444564;
  background-color: #2b2c40;
}

[data-bs-theme='dark'] #editUserModal .form-check-input:checked {
  background-color: #696cff;
  border-color: #696cff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='M5 10.5l3 3 7-7'/%3e%3c/svg%3e") !important;
}

[data-bs-theme='dark'] #editUserModal .form-check-input:hover:not(:disabled),
[data-bs-theme='dark'] #editUserModal .form-check-input:focus:not(:disabled) {
  border-color: #696cff;
  box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.25);
}

[data-bs-theme='dark'] #editUserModal .form-check-label {
  color: #a3a4cc;
}

/* Стили для переключателей модулей */
#editUserModal .form-check.form-switch {
  padding-left: 3rem;
}

#editUserModal .form-check-input[type='checkbox'] {
  width: 2.5rem;
  height: 1.25rem;
  border-radius: 1rem;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  transition: all 0.2s ease-in-out;
  position: relative;
  cursor: pointer;
}

#editUserModal .form-check-input[type='checkbox']:checked {
  background-color: #696cff;
  border-color: #696cff;
  background-image: none;
}

/* Бегунок переключателя */
#editUserModal .form-check.form-switch .form-check-input::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 0.95rem;
  height: 0.95rem;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

#editUserModal .form-check.form-switch .form-check-input:checked::before {
  transform: translateX(1.25rem);
}

/* Состояния disabled */
#editUserModal .form-check.form-switch .form-check-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Темная тема: фон и бегунок */
[data-bs-theme='dark'] #editUserModal .form-check-input[type='checkbox'] {
  background-color: #444564;
  border-color: #444564;
}

[data-bs-theme='dark'] #editUserModal .form-check.form-switch .form-check-input::before {
  background: #e6e7ff;
}

[data-bs-theme='dark'] #editUserModal .form-check.form-switch .form-check-input:checked::before {
  background: #ffffff;
}

#editUserModal .form-check-input[type='checkbox']:focus {
  box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.25);
}

/* Темная тема для переключателей */
[data-bs-theme='dark'] #editUserModal .form-check-input[type='checkbox'] {
  background-color: #444564;
  border-color: #444564;
}

[data-bs-theme='dark'] #editUserModal .form-check-input[type='checkbox']:checked {
  background-color: #696cff;
  border-color: #696cff;
}

/* Адаптивные стили для мобильных устройств */
@media (max-width: 768px) {
  #editUserModal .modal-dialog,
  #usersManagementModal .modal-dialog {
    max-width: 95%;
    width: 95%;
    margin: 0.5rem auto;
  }
}

@media (max-width: 576px) {
  #editUserModal .modal-dialog,
  #usersManagementModal .modal-dialog {
    max-width: 98%;
    width: 98%;
    margin: 0.25rem auto;
  }
}
