/* Свои стили поверх Tabler */

/* Переключатель темы: в тёмной теме видна кнопка «светлая», и наоборот */
[data-bs-theme="dark"] .bt-hide-dark { display: none !important; }
:root:not([data-bs-theme="dark"]) .bt-hide-light { display: none !important; }

/* Аватары — круглые */
.avatar { border-radius: 50%; }

/* Дерево категорий документов */
.bt-tree, .bt-tree ul { list-style: none; margin: 0; padding: 0; }
.bt-tree ul { padding-left: 1rem; }
.bt-tree a { display: flex; align-items: center; gap: .5rem; padding: .3rem .5rem; border-radius: var(--tblr-border-radius); color: inherit; text-decoration: none; }
.bt-tree a:hover { background: var(--tblr-active-bg); }
.bt-tree a.active { background: var(--tblr-primary-lt); color: var(--tblr-primary); font-weight: 500; }
.bt-tree .bt-tree-count { margin-left: auto; color: var(--tblr-secondary); font-size: .75rem; }

/* Текст из редактора. Картинки без заданного размера — миниатюрой до 360px, по клику — галерея */
.bt-content img { max-width: 100%; height: auto; border-radius: var(--tblr-border-radius); cursor: zoom-in; }
.bt-content img:not([width]) { max-height: 360px; width: auto; }
.bt-content pre { background: var(--tblr-bg-surface-secondary); border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius);
  padding: .75rem 1rem; max-height: 420px; overflow: auto; font-size: .8125rem; }
.bt-content pre code { background: none; padding: 0; color: inherit; }

/* Галерея картинок */
.bt-gallery { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, .88); display: none; align-items: center; justify-content: center; }
.bt-gallery.show { display: flex; }
.bt-gallery img { max-width: 92vw; max-height: 88vh; border-radius: 4px; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
.bt-gallery button { position: absolute; border: 0; background: rgba(255, 255, 255, .12); color: #fff; width: 3rem; height: 3rem;
  border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; cursor: pointer; }
.bt-gallery button:hover { background: rgba(255, 255, 255, .25); }
.bt-gallery-close { top: 1rem; right: 1rem; }
.bt-gallery-nav.prev { left: 1rem; }
.bt-gallery-nav.next { right: 1rem; }
.bt-gallery-counter { position: absolute; bottom: 1rem; left: 0; right: 0; text-align: center; color: rgba(255, 255, 255, .8); font-size: .875rem; }
.bt-content > :last-child { margin-bottom: 0; }
.bt-content pre { white-space: pre-wrap; }
.bt-content table { width: 100%; margin-bottom: 1rem; }
.bt-content table td, .bt-content table th { border: 1px solid var(--tblr-border-color); padding: .25rem .5rem; }

/* Лента: системные события */
.bt-event-dot { width: .5rem; height: .5rem; border-radius: 50%; margin-top: .4rem; flex: 0 0 auto; }

/* Свойства бага */
.bt-props dt { font-weight: 500; color: var(--tblr-secondary); margin-bottom: .75rem; }
.bt-props dd { margin-bottom: .75rem; }

/* Редактор: компактный режим — панель форматирования скрыта до нажатия «Aa» */
.bt-editor-wrap:not(.bt-editor-full) .tox-editor-header { display: none !important; }
.bt-editor-wrap .tox-tinymce { border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); box-shadow: none; }
.bt-editor-wrap .tox-tinymce:focus-within { border-color: var(--tblr-primary); box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .15); }
.bt-editor-wrap.is-invalid .tox-tinymce { border-color: var(--tblr-danger); }

/* Компактная панель в цветах Tabler */
.bt-editor-wrap .tox .tox-editor-header { box-shadow: none !important; padding: 0 !important; border-bottom: 1px solid var(--tblr-border-color); }
.bt-editor-wrap .tox .tox-toolbar, .bt-editor-wrap .tox .tox-toolbar__primary, .bt-editor-wrap .tox .tox-toolbar-overlord {
  background: var(--tblr-bg-surface-secondary) !important; }
.bt-editor-wrap .tox .tox-toolbar__group { padding: 2px 4px !important; }
.bt-editor-wrap .tox .tox-tbtn { height: 26px; width: 26px; margin: 1px 0; border-radius: 4px; }
.bt-editor-wrap .tox .tox-tbtn svg { transform: scale(.82); }
.bt-editor-wrap .tox .tox-tbtn--select { width: auto; padding: 0 2px 0 6px; }
.bt-editor-wrap .tox .tox-tbtn__select-label { width: auto; font-size: 13px; margin: 0 2px 0 0; }
.bt-editor-wrap .tox .tox-split-button { margin: 1px 0; }
.bt-editor-wrap .tox .tox-split-button .tox-tbtn { width: 24px; }
.bt-editor-wrap .tox .tox-split-button__chevron { width: 14px !important; }
.bt-editor-wrap .tox .tox-tbtn:hover { background: var(--tblr-active-bg); }
.bt-editor-wrap .tox .tox-tbtn--enabled, .bt-editor-wrap .tox .tox-tbtn--enabled:hover { background: var(--tblr-primary-lt); color: var(--tblr-primary); }
.bt-editor-wrap .tox .tox-tbtn--enabled svg { fill: var(--tblr-primary); }

/* Строка состояния — только уголок для растягивания */
.bt-editor-wrap .tox .tox-statusbar { height: 14px; padding: 0 2px; border-top: 0; background: transparent; }
.bt-editor-wrap .tox .tox-statusbar__resize-handle { cursor: ns-resize; }
.bt-editor-top { display: flex; margin-bottom: .25rem; }
.bt-editor-bar { display: flex; flex-wrap: wrap; align-items: center; margin-top: .375rem; padding-left: .25rem; }
.bt-editor-sep { margin: 0 .625rem; opacity: .5; }
.bt-editor-full .bt-editor-toggle { background: var(--tblr-primary-lt); color: var(--tblr-primary); }

/* Tom Select: непрозрачный выпадающий список в обеих темах (подстраховка к tabler-vendors) */
.ts-dropdown { background: var(--tblr-bg-surface); color: var(--tblr-body-color); border: 1px solid var(--tblr-border-color); }
.ts-dropdown .active { background: var(--tblr-active-bg); color: var(--tblr-body-color); }

/* Строка таблицы — ссылка целиком */
.bt-row-link { cursor: pointer; }

/* Админка: дерево разделов (jsTree) в цветах Tabler, работает и в тёмной теме */
.bt-jstree { font-size: .9375rem; }
.bt-jstree .jstree-anchor { color: var(--tblr-body-color); }
.bt-jstree .jstree-icon.ti { color: var(--tblr-yellow); font-size: 1.15rem; line-height: 24px; background: none; }
.bt-jstree .jstree-wholerow-hovered { background: var(--tblr-active-bg); }
.bt-jstree .jstree-wholerow-clicked { background: var(--tblr-primary-lt); }
.bt-jstree .jstree-node[data-count]:not([data-count=""]) > .jstree-anchor::after {
  content: attr(data-count); margin-left: .5rem; padding: 0 .4rem; border-radius: 1rem; font-size: .75rem;
  background: var(--tblr-bg-surface-secondary); color: var(--tblr-secondary); }
.bt-jstree .jstree-rename-input { background: var(--tblr-bg-surface); color: var(--tblr-body-color); border: 1px solid var(--tblr-primary) !important;
  border-radius: 4px; padding: 0 .4rem; outline: none; }
[data-bs-theme="dark"] .jstree-default .jstree-ocl { filter: invert(1); }
#jstree-dnd.jstree-default { color: var(--tblr-body-color); background: var(--tblr-bg-surface); border: 1px solid var(--tblr-border-color); border-radius: 4px; padding: 0 .5rem; }
.vakata-context, .vakata-context ul { background: var(--tblr-bg-surface); border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); box-shadow: var(--tblr-box-shadow-dropdown); }
.vakata-context li > a { color: var(--tblr-body-color); text-shadow: none; }
.vakata-context li > a > i { color: var(--tblr-secondary); }
.vakata-context .vakata-context-hover > a, .vakata-context li > a:hover { background: var(--tblr-active-bg); box-shadow: none; }
.vakata-context .vakata-context-separator > a { background: var(--tblr-border-color); }
.vakata-context li > a .vakata-contextmenu-sep { display: none; }

/* Колокольчик и уведомления */
.bt-bell-menu { width: 380px; max-width: calc(100vw - 2rem); }
.bt-bell-list { max-height: 420px; overflow-y: auto; }
.bt-notification.is-unread { background: var(--tblr-primary-lt); }
.bt-notification-snippet { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.text-truncate-wrap { min-width: 0; }

/* @упоминание в тексте */
.bt-mention { color: var(--tblr-primary); background: var(--tblr-primary-lt); border-radius: 4px; padding: 0 3px; font-weight: 500; white-space: nowrap; }
