/* =====================================================
   Notacross — Быстрая смена аккаунтов · Crossbar v3.2
   Адаптация под дизайн форума Crossbar
   ===================================================== */

/* === Локальные переменные (интеграция с палитрой Crossbar) === */
:root {
  --nql-bg-main: var(--quo);
  --nql-bg-soft: var(--quo2);
  --nql-bg-hover: rgba(0, 0, 0, 0.05);

  --nql-border: var(--bord);
  --nql-border-soft: rgba(0, 0, 0, 0.08);

  --nql-text-main: var(--text);
  --nql-text-dim: rgba(37, 47, 53, 0.7);
  --nql-text-soft: rgba(37, 47, 53, 0.5);

  --nql-accent: var(--accent);
  --nql-danger: #d45a5a;

  --nql-radius-lg: 12px;
  --nql-radius-md: 8px;
  --nql-radius-sm: 4px;

  --nql-shadow: 0 10px 30px rgba(0,0,0,0.15);

  /* Модалка выгула — базовые цвета */
  --nota-ql-modal-bg:     var(--quo);
  --nota-ql-modal-color:  var(--text);
  --nota-ql-modal-radius: var(--b-radius, 12px);
}

/* === Фикс обрезания контейнеров меню === */
/* Принудительно разрешаем элементам навигации выпускать дропдаун наружу */
#pun-navlinks, #pun-navlinks .container, #pun-navlinks ul, #pun-navlinks li { overflow: visible !important; }

/* =====================================================
   ПАНЕЛЬ (КНОПКА И ДРОПДАУН)
   ===================================================== */

.nota-ql {
  position: relative;
  display: inline-block;
}

/* Кнопка «твинки» в самом меню */
#nota-ql-navbtn {
  cursor: pointer;
  user-select: none;
}

/* Выпадающее окно (Дропдаун) */
.nota-ql-pane {
  position: absolute;
  right: 0;                     /* Выравнивание по правому краю кнопки */
  top: 100%;                    /* Появляется строго под кнопкой */
  z-index: 99999999 !important; /* Максимальный приоритет отображения */

  width: 320px;
  max-width: 92vw;

  background: var(--quo) !important;
  color: var(--text) !important;

  border: 1px solid var(--bord) !important;
  border-radius: var(--b-radius, var(--nql-radius-lg)) !important;
  padding: 16px !important;

  box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
  font-family: var(--sec-font), sans-serif !important;

  /* Анимация плавного появления при открытии */
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

/* Состояние, когда окно открыто */
.nota-ql.open .nota-ql-pane {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Заголовок дропдауна ("БЫСТРАЯ СМЕНА") */
.nota-ql-pane h4 {
  margin: 0 0 12px !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  font-family: var(--main-font), sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--bord) !important;
  padding-bottom: 8px !important;
}

/* &#9472;&#9472; Список сохраненных аккаунтов &#9472;&#9472; */
.nota-ql-pane .list {
  max-height: 340px;            /* Ограничение по высоте, чтобы не растягивать форум */
  overflow-y: auto;             /* Включение прокрутки */
  margin: 8px 0;
  padding: 6px;
  background: var(--nql-bg-soft);
  border: 1px solid var(--nql-border);
  border-radius: var(--nql-radius-md);
}

/* Стилизация скроллбара списка внутри плагина */
.nota-ql-pane .list::-webkit-scrollbar { width: 4px; }
.nota-ql-pane .list::-webkit-scrollbar-thumb {
  background: var(--nql-border);
  border-radius: 4px;
}

/* Строка с аккаунтом (Имя + Кнопка удаления) */
.nota-ql-pane .item {
  display: grid;
  grid-template-columns: 1fr auto; /* Имя забирает всё пространство, кнопка — справа */
  gap: 6px;
  align-items: center;
  margin-bottom: 4px;
}
.nota-ql-pane .item:last-child { margin-bottom: 0; }

/* Зона с ником (кнопка переключения на этот аккаунт) */
.nota-ql-pane .namezone {
  padding: 5px 10px !important;
  border-radius: var(--nql-radius-sm);
  font-size: 13px;
  font-weight: 500;
  color: var(--text) !important;
  font-family: var(--sec-font), sans-serif !important;
  background: transparent;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
  text-align: left;
}
/* Ховер на ник в списке */
.nota-ql-pane .namezone:hover {
  background: var(--quo2) !important;
  color: var(--accent) !important;
}

/* &#9472;&#9472; Поля ввода (Логин / Пароль) &#9472;&#9472; */
.nota-ql-pane .row {
  display: flex;
  gap: 8px;
  margin: 8px 0;
}

.nota-ql-pane input[type="text"],
.nota-ql-pane input[type="password"] {
  flex: 1;
  background: var(--quo2) !important;
  border: 1px solid var(--bord) !important;
  border-radius: 6px !important;
  padding: 8px 10px;
  font-size: 13px;
  font-family: var(--sec-font), sans-serif !important;
  color: var(--text) !important;
  outline: none;
  transition: border .2s ease, background .2s ease;
  width: 50%;
  box-sizing: border-box;
}
.nota-ql-pane input::placeholder { color: var(--nql-text-soft); }
/* Фокус на полях ввода */
.nota-ql-pane input:focus {
  border-color: var(--accent) !important;
  background: var(--quo) !important;
}

/* &#9472;&#9472; Кнопки панели &#9472;&#9472; */
.nota-ql-pane .btn {
  padding: 8px 12px;
  border-radius: 6px !important;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--sec-font), sans-serif !important;
  border: 1px solid var(--bord) !important;
  background: var(--quo2) !important;
  color: var(--text) !important;
  cursor: pointer;
  transition: background .2s ease, border .2s ease, color .2s ease, transform .15s ease;
}
.nota-ql-pane .btn:hover { transform: translateY(-1px); }

/* Главная кнопка ("Добавить") */
.nota-ql-pane .btn.primary {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}
.nota-ql-pane .btn.primary:hover { filter: brightness(1.1); }

/* Второстепенная кнопка ("Выгулять всех") */
.nota-ql-pane .btn.ghost {
  background: transparent !important;
  border: 1px dashed var(--bord) !important;
  color: var(--nql-text-dim) !important;
}
.nota-ql-pane .btn.ghost:hover {
  color: var(--text) !important;
  border-color: var(--accent) !important;
  border-style: solid !important;
}

/* Кнопка удаления аккаунта (Крестик «&#215;») */
.nota-ql-pane .btn.danger {
  width: 24px;
  height: 24px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: transparent !important;
  border: 1px solid var(--bord) !important;
  color: var(--nql-text-soft) !important;
  font-size: 12px;
}
.nota-ql-pane .btn.danger:hover {
  background: var(--nql-danger) !important;
  border-color: var(--nql-danger) !important;
  color: #fff !important;
}

/* &#9472;&#9472; Чекбокс «без постинга» &#9472;&#9472; */
.nota-ql-skip-label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-family: var(--sec-font), sans-serif;
  color: var(--nql-text-soft);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.nota-ql-skip-label input[type="checkbox"] {
  margin: 0;
  cursor: pointer;
  accent-color: var(--accent);
}

/* &#9472;&#9472; Спойлер Импорта / Экспорта &#9472;&#9472; */
.nql-ie-toggle {
  margin-top: 10px;
  font-size: 12px;
  color: var(--nql-text-soft);
  cursor: pointer;
  user-select: none;
  font-weight: 500;
}
.nql-ie-toggle:hover { color: var(--accent); }

.nql-ie {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--bord);
}
.nql-ie.hidden { display: none; }

.nql-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px;
  margin-bottom: 6px;
}
.nql-row input[type="text"] {
  background: var(--nql-bg-soft);
  border: 1px solid var(--nql-border);
  border-radius: var(--nql-radius-sm);
  padding: 6px 8px;
  font-size: 12px;
  color: var(--nql-text-dim);
  outline: none;
}
.nql-btn {
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--sec-font), sans-serif;
  border-radius: var(--nql-radius-sm);
  border: 1px solid var(--bord);
  background: var(--nql-bg-soft);
  color: var(--nql-text-dim);
  cursor: pointer;
  transition: all .2s ease;
}
.nql-btn:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.nql-note {
  font-size: 11px;
  color: var(--nql-text-soft);
  margin-top: 6px;
  line-height: 1.3;
  font-style: italic;
}

/* &#9472;&#9472; Тост лицензии (если выводится разработчиками) &#9472;&#9472; */
.nota-ql-license-toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--quo);
  color: var(--text);
  border: 1px solid var(--bord);
  padding: 10px 14px;
  border-radius: var(--nql-radius-md);
  font-size: 13px;
  font-family: var(--sec-font), sans-serif;
  line-height: 1.4;
  max-width: 320px;
  z-index: 99999;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  pointer-events: none;
}

/* =====================================================
   МОДАЛЬНОЕ ОКНО ВЫГУЛА (ПОЯВЛЯЕТСЯ ПРИ МАССОВОМ КЛИКЕ)
   ===================================================== */

/* Задний фон (оверлей) модального окна */
.nota-ql-modal-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  background: transparent;
  pointer-events: none;
  opacity: 0;
  animation: notaQlFadeIn .35s ease forwards;
}
/* Анимация исчезновения оверлея */
.nota-ql-modal-overlay.nota-ql-fadeout {
  animation: notaQlFadeOut .35s ease forwards;
}

/* Само модальное окно по центру экрана */
.nota-ql-modal {
  pointer-events: auto;
  background: var(--nota-ql-modal-bg);
  color: var(--nota-ql-modal-color);
  border: 1px solid var(--bord);
  border-radius: var(--nota-ql-modal-radius);
  box-shadow: 0 10px 40px rgba(0,0,0,.3);
  padding: 28px 36px;
  text-align: center;
  font-family: var(--sec-font), sans-serif;
  max-width: 340px;
  width: 90%;
  animation: notaQlPulse 3s ease-in-out infinite; /* Бесконечный пульсирующий эффект тени */
}

.nota-ql-modal__icon  { font-size: 38px; margin-bottom: 10px; }
.nota-ql-modal__title {
  font-size: 17px;
  font-weight: 600;
  font-family: var(--main-font), sans-serif;
  line-height: 1.4;
  margin-bottom: 6px;
}
.nota-ql-modal__sub {
  font-size: 13px;
  opacity: .55;
  margin-bottom: 18px;
  min-height: 18px;
}
/* Кнопка "Остановить" выгул */
.nota-ql-modal__stop {
  background: var(--nql-danger);
  color: #fff;
  border: none;
  border-radius: var(--nql-radius-md);
  padding: 9px 20px;
  font-size: 14px;
  font-family: var(--sec-font), sans-serif;
  font-weight: 600;
  cursor: pointer;
  transition: filter .2s, transform .15s;
}
.nota-ql-modal__stop:hover  { filter: brightness(1.1); transform: translateY(-1px); }
.nota-ql-modal__stop:active { filter: brightness(.9);   transform: translateY(0); }

/* === АНИМАЦИИ ВЫГУЛА === */
@keyframes notaQlFadeIn  {
  from { opacity: 0; transform: scale(.94); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes notaQlFadeOut {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(.94); }
}
@keyframes notaQlPulse {
  0%, 100% { box-shadow: 0 10px 40px rgba(0,0,0,.3); }
  50%      { box-shadow: 0 10px 50px rgba(0,0,0,.4); }
}

/* &#9472;&#9472; Компактный чипс-индикатор "Всё прочитано" &#9472;&#9472; */
.nota-ql-pane .item {
  grid-template-columns: 1fr auto auto; /* Сетка на 3 элемента */
  gap: 4px;                             /* Уменьшаем отступы между элементами */
}

.nota-ql-mr-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;                          /* Делаем его совсем крошечным */
  height: 14px;
  border-radius: 50%;                   /* Превращаем в идеальный круг */
  border: 1px solid var(--bord);
  background: var(--quo2);
  cursor: pointer;
  user-select: none;
  transition: all 0.2s ease;
  position: relative;
  margin: 0 4px;                        /* Легкий отступ от текста */
}

/* Полностью скрываем дефолтный чекбокс */
.nota-ql-mr-chip input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}

/* Внутренний маркер (маленькая точка по центру) */
.nota-ql-mr-check {
  width: 6px;
  height: 6px;
  background: transparent;              /* Скрыта по умолчанию */
  border-radius: 50%;
  transition: background-color 0.2s ease;
}

/* Состояние, когда режим "Всё прочитано" ВКЛЮЧЕН */
.nota-ql-mr-chip:has(input:checked) {
  border-color: var(--accent) !important;
  background: transparent !important;   /* Оставляем прозрачный фон с рамкой */
}

/* Зажигаем внутренний индикатор акцентным цветом форума */
.nota-ql-mr-chip:has(input:checked) .nota-ql-mr-check {
  background: var(--accent) !important;
}

/* Ховер-эффект */
.nota-ql-mr-chip:hover {
  border-color: var(--accent);
  transform: scale(1.1);                 /* Легкое увеличение при наведении */
}

/* === Адаптив дропдауна для мобильных экранов === */
@media (max-width: 600px) {
  .nota-ql-pane {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: 50px !important; /* если шапка перекрывает окно, подкорректируй этот отступ */
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}


.nota-ql-pane h4 { display: flex; align-items: center; justify-content: space-between; }
.nota-ql-pane .nql-act-refresh { border: none; background: transparent; cursor: pointer; color: var(--nql-text-dim); font-size: 13px; line-height: 1; padding: 2px 4px; }
.nota-ql-pane .nql-act-refresh:hover:not(:disabled) { color: var(--text); }
.nota-ql-pane .nql-act-refresh:disabled { opacity: .35; cursor: default; }
.nota-ql-pane .nql-act-refresh.spin { animation: nql-act-spin .8s linear infinite; }
@keyframes nql-act-spin { to { transform: rotate(360deg); } }
/* Активность (список на удаление) — только переменные темы бара.
   Строка не перекрашивается: справа от ника маленькая метка.
   warn (под угрозой) — контурная --accent2, bad (уже в списке) — залитая --accent2 */
.nota-ql-pane .item { grid-template-columns: minmax(0, 1fr) auto auto; }
.nota-ql-pane .namezone { display: flex; align-items: center; gap: 8px; min-width: 0; }
.nota-ql-pane .nql-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nota-ql-pane .nql-act-note {
  margin-left: auto; flex: none; white-space: nowrap;
  padding: 2px 6px; border: 1px solid var(--accent2); border-radius: var(--b-radius, 0);
  font-family: var(--sec-font), sans-serif; font-size: 10px; font-weight: 400; line-height: 1.2;
  text-transform: none; letter-spacing: 0;
  color: var(--accent2);
}
.nota-ql-pane .item.nql-act-bad .nql-act-note { background: var(--accent2); color: var(--quo); }
.nota-ql-pane .item.nql-act-bad .nql-name { opacity: .55; }