/* базовые стили */

 /* Светлая тема */
 [data-bs-theme='light'] body { background: #ffffff; color: #212529; }
 [data-bs-theme='light'] .navbar { background: #ffffff; }
 [data-bs-theme='light'] .card { background: #ffffff; border-color: #dee2e6; }
 [data-bs-theme='light'] .form-control, 
 [data-bs-theme='light'] .form-select { background:#ffffff; color:#212529; border-color:#ced4da; }
 [data-bs-theme='light'] .alert-danger{ background:#f8d7da; color:#842029; border-color:#f5c2c7; }
 [data-bs-theme='light'] .dropdown-menu { background:#ffffff; color:#212529; }
 [data-bs-theme='light'] .dropdown-item.active, 
 [data-bs-theme='light'] .dropdown-item:active, 
 [data-bs-theme='light'] .dropdown-item:hover { background:#f1f3f5; color:#212529; }
 /* Исправление контраста активных пунктов меню/сайдбара в светлой теме */
 [data-bs-theme='light'] .nav-pills .nav-link.active {
   background:#e9ecef; /* светло-серый фон вместо белого */
   color:#212529;       /* тёмный текст */
 }
 [data-bs-theme='light'] .list-group-item.active {
   background:#e9ecef;  /* контрастный фон */
   color:#212529;        /* читаемый текст */
   border-color:#ced4da; /* мягкая рамка */
 }

 /* Тёмная тема */
[data-bs-theme='dark'] { 
  /* Мягкая палитра тёмной темы через CSS-переменные Bootstrap */
  --bs-body-bg: #0f1113;
  --bs-body-color: #eaecef;
  --bs-card-bg: #14171a;
  --bs-card-border-color: #2a2f34;
  --bs-dropdown-bg: #14171a;
  --bs-dropdown-link-hover-bg: #1f2327;
  --bs-modal-bg: #14171a;
  --bs-offcanvas-bg: #14171a;
  --bs-list-group-bg: #14171a;
  --bs-navbar-bg: #0f1113;
  --bs-table-bg: #14171a;
  --bs-tertiary-bg: #1a1f24;
}
[data-bs-theme='dark'] body { background: var(--bs-body-bg); color: var(--bs-body-color); }
[data-bs-theme='dark'] .navbar { background: var(--bs-navbar-bg); }
[data-bs-theme='dark'] .card { background: var(--bs-card-bg); border-color: var(--bs-card-border-color); }
 [data-bs-theme='dark'] .form-control, 
 [data-bs-theme='dark'] .form-select { background:#0f1316; color:#eaecef; border-color:#2a2f34; }
 [data-bs-theme='dark'] .alert-danger{ background:#3b1218; color:#ffb3b8; border-color:#74202a; }
 /* Выпадающие меню */
 [data-bs-theme='dark'] .dropdown-menu { background:var(--bs-dropdown-bg); color:#eaecef; border-color:#2a2f34; }
[data-bs-theme='dark'] .dropdown-item { color:#eaecef; }
[data-bs-theme='dark'] .dropdown-item.active, 
 [data-bs-theme='dark'] .dropdown-item:active, 
 [data-bs-theme='dark'] .dropdown-item:hover { background:var(--bs-dropdown-link-hover-bg); color:#ffffff; }
  /* Светлые блоки в разметке (bg-light) перекрашиваем в тёмной теме */
  [data-bs-theme='dark'] .bg-light { background-color:#14171a !important; }
 [data-bs-theme='dark'] .bg-white { background-color:#14171a !important; }
  [data-bs-theme='dark'] .text-muted { color:#a7b1b8 !important; }
  /* Подзаголовок героя на главной — белый в тёмной теме */
  [data-bs-theme='dark'] .hero-sub { color:#ffffff !important; }
  /* Таблицы */
  [data-bs-theme='dark'] .table { --bs-table-bg:#14171a; --bs-table-color:#eaecef; color:#eaecef; background:#14171a; border-color:#2a2f34; }
 [data-bs-theme='dark'] .table-striped > tbody > tr:nth-of-type(odd) { --bs-table-accent-bg:#161a1e; }
 [data-bs-theme='dark'] .table-hover > tbody > tr:hover { --bs-table-accent-bg:#1f2327; color:#eaecef; }
  /* Заголовки таблицы заявок (страница /advertiser/submissions) */
  [data-bs-theme='dark'] .submissions-table thead th { color:#000 !important; }
  /* Списки */
  [data-bs-theme='dark'] .list-group-item { background:#14171a; color:#eaecef; border-color:#2a2f34; }
 [data-bs-theme='dark'] .list-group-item.active { background:#1f2327; border-color:#2a2f34; }
  /* Вкладки/пиллюли */
  [data-bs-theme='dark'] .nav-tabs .nav-link { color:#eaecef; border-color:#2a2f34; }
 [data-bs-theme='dark'] .nav-tabs .nav-link.active { background:#14171a; color:#fff; border-color:#2a2f34; }
 [data-bs-theme='dark'] .nav-pills .nav-link.active { background:#1f2327; }
  /* Пагинация */
  [data-bs-theme='dark'] .page-link { background:#14171a; color:#eaecef; border-color:#2a2f34; }
 [data-bs-theme='dark'] .page-link:hover { background:#1f2327; color:#fff; }
  [data-bs-theme='dark'] .page-item.active .page-link { background:#2d7ef7; border-color:#2d7ef7; color:#fff; }
  /* Модальные окна */
  [data-bs-theme='dark'] .modal-content { background:#14171a; color:#eaecef; border-color:#2a2f34; }
 [data-bs-theme='dark'] .modal-header, 
  [data-bs-theme='dark'] .modal-footer { border-color:#2a2f34; }
 [data-bs-theme='dark'] .modal-backdrop.show { opacity: .85; background-color:#000; }
  /* Оффканвас */
  [data-bs-theme='dark'] .offcanvas { background:#14171a; color:#eaecef; }
  /* Аккордеон */
  [data-bs-theme='dark'] .accordion-item { background:#14171a; border-color:#2a2f34; }
 [data-bs-theme='dark'] .accordion-button { background:#14171a; color:#eaecef; }
 [data-bs-theme='dark'] .accordion-button:not(.collapsed) { background:#1f2327; color:#fff; }
  /* Бэйджи */
  [data-bs-theme='dark'] .badge.bg-light { background:#1f2327 !important; color:#eaecef !important; }
  /* Разделитель в dropdown */
  [data-bs-theme='dark'] .dropdown-divider { border-top-color:#2a2f34; }
  /* Подсказки/поповеры */
  [data-bs-theme='dark'] .popover { background:#1a1d20; border-color:#2a2f34; color:#eaecef; }
  [data-bs-theme='dark'] .popover-header { background:#22262a; border-bottom-color:#2a2f34; color:#fff; }
  [data-bs-theme='dark'] .tooltip-inner { background:#2a2f34; color:#fff; }
 /* Кнопки-обводки, чтобы не были бледными */
 [data-bs-theme='dark'] .btn-outline-secondary { color:#eaecef; border-color:#6c757d; }
 [data-bs-theme='dark'] .btn-outline-secondary:hover { background:#2a2f34; color:#fff; border-color:#6c757d; }
 /* Улучшение контраста для кнопок .btn-outline-dark (например, копирование ссылки в Instagram) */
 [data-bs-theme='dark'] .btn-outline-dark { color:#eaecef; border-color:#6c757d; }
 [data-bs-theme='dark'] .btn-outline-dark:hover { background:#2a2f34; color:#fff; border-color:#6c757d; }
 /* Иконка тогглера навбара в тёмной теме */
 [data-bs-theme='dark'] .navbar-toggler { border-color:#444; }
 [data-bs-theme='dark'] .navbar-toggler-icon { filter: invert(1) grayscale(100%); }

 /* Общие акцентные цвета (подходят для обеих тем) */
.btn-primary{ background:#1b4bb8; border-color:#1b4bb8; color:#fff; }
.btn-primary:hover,
.btn-primary:focus {
  background:#1742a3; border-color:#1742a3; color:#fff;
}
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle{
  background:#153b93; border-color:#153b93; color:#fff;
}
 .btn-success{ background:#13b28a; border-color:#13b28a; }

/* Исправление earnings: делаем каждый элемент .list-group-item отдельной карточкой */
.list-group:not(.list-group-flush) > .list-group-item {
  background: #fff; /* светлая тема */
  border: 1px solid var(--bs-border-color, #dee2e6) !important;
  border-radius: .5rem !important;
  margin-bottom: 1rem !important;
}
.list-group:not(.list-group-flush) > .list-group-item + .list-group-item {
  border-top-width: 1px !important; /* отменяем обнуление top-border Bootstrap */
}
[data-bs-theme='dark'] .list-group:not(.list-group-flush) > .list-group-item {
  background: #14171a;
  border-color: #2a2f34 !important;
}

/* Визуальная рамка вне зависимости от поведения Bootstrap по схлопыванию границ */
.list-group > .list-group-item {
  position: relative;
  box-shadow: inset 0 0 0 1px var(--bs-border-color, #dee2e6) !important;
}
[data-bs-theme='dark'] .list-group > .list-group-item {
  box-shadow: inset 0 0 0 1px #2a2f34 !important;
}

/* Единообразное форматирование текста в заданиях earnings */
#earnings-list .list-group-item {
  padding: 1rem !important;
}
#earnings-list .list-group-item .d-flex {
  align-items: flex-start !important;
}
#earnings-list .list-group-item .me-3 {
  flex: 1;
  min-width: 0;
}
#earnings-list .list-group-item .text-end {
  flex-shrink: 0;
  margin-left: 1rem;
}
#earnings-list .list-group-item a.fw-semibold {
  font-size: 1.1rem !important;
  line-height: 1.3 !important;
  margin-bottom: 0.5rem !important;
  display: block;
}
#earnings-list .list-group-item .small.text-muted {
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
  margin-top: 0.25rem !important;
}
#earnings-list .list-group-item .fs-5.fw-bold {
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
}
#earnings-list .list-group-item .text-end .small {
  font-size: 0.8rem !important;
  margin-top: 0.25rem !important;
}

/* Полная нормализация карточек заданий - каждая выглядит идентично */
#earnings-list .list-group-item.task-card,
#earnings-list .task-card,
.list-group#earnings-list .list-group-item {
  display: block !important;
  position: relative !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
  background: var(--bs-body-bg) !important;
  border: 1px solid var(--bs-border-color) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

#earnings-list .list-group-item * {
  box-sizing: border-box !important;
}

#earnings-list .list-group-item .d-flex {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item .me-3 {
  flex: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item .text-end {
  flex-shrink: 0 !important;
  text-align: right !important;
  margin: 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item .task-title,
#earnings-list .list-group-item a.fw-semibold {
  display: block !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--bs-body-color) !important;
  text-decoration: none !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item .small.text-muted {
  display: block !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--bs-secondary-color) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item .fs-5.fw-bold {
  font-family: inherit !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--bs-body-color) !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item .text-end .small {
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: var(--bs-secondary-color) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item details {
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
}

#earnings-list .list-group-item .mt-3 {
  margin-top: 12px !important;
}

/* Темная тема */
[data-bs-theme='dark'] #earnings-list .list-group-item.task-card,
[data-bs-theme='dark'] #earnings-list .task-card,
[data-bs-theme='dark'] .list-group#earnings-list .list-group-item {
  background: #14171a !important;
  border-color: #2a2f34 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

/* PWA Install floating widget */
.pwa-install-widget { position: fixed; right: 16px; bottom: 16px; z-index: 1080; width: 320px; max-width: calc(100% - 24px); display: none; }
.pwa-install-card { border-radius: 12px; border: 1px solid var(--bs-border-color, #dee2e6); box-shadow: 0 10px 30px rgba(0,0,0,.15); padding: 14px 14px 12px 14px; background: #ffffff; color:#212529; }
.pwa-install-card .title { font-weight: 700; font-size: 16px; margin: 0 28px 6px 0; }
.pwa-install-card .desc { font-size: 13px; margin: 0 0 10px 0; color:#5c6770; }
.pwa-install-card .actions { display: flex; gap: 8px; }
.pwa-install-card .close { position: absolute; right: 10px; top: 8px; background: transparent; border: 0; font-size: 18px; line-height: 1; color:#6c757d; cursor: pointer; }
.pwa-install-card .icon { width: 32px; height: 32px; border-radius: 6px; object-fit: cover; margin-right: 10px; }
.pwa-install-card .row { display: flex; align-items: flex-start; }
.pwa-install-card .col { flex: 1; }

[data-bs-theme='dark'] .pwa-install-card { background:#14171a; color:#eaecef; border-color:#2a2f34; box-shadow: 0 10px 30px rgba(0,0,0,.4); }
[data-bs-theme='dark'] .pwa-install-card .desc { color:#a7b1b8; }
[data-bs-theme='dark'] .pwa-install-card .close { color:#a7b1b8; }

@media (max-width: 576px) {
  .pwa-install-widget { right: 12px; bottom: 12px; }
  .pwa-install-card { padding: 12px; }
}
