/*
 * z-ui-refresh.css — освежение интерфейса (officenew)
 * --------------------------------------------------------------
 * Бренд-акцент управляется ОДНОЙ CSS-переменной --ui-accent (дефолт #604fc9).
 * Ховер и все тинты выводятся из неё через color-mix.
 *
 * ПЕРСОНАЛИЗАЦИЯ ПЛОЩАДКИ: в её доп-CSS (Config 'addcss', грузится ПОСЛЕ этого
 * файла) достаточно задать:
 *     :root{ --ui-accent:#СВОЙ_ЦВЕТ; }
 * и вся тема (кнопки/ссылки/активный пункт/дропдауны/ПКМ/FullCalendar/БЗ/лончер)
 * перекрасится автоматически. Опц.: --ui-accent-h (ховер), --ui-sub-bg /
 * --ui-sub-head (тёмные полосы подменю в сайдбаре).
 *
 * Файл назван с префикса "z-" → грузится ПОСЛЕДНИМ из officenew/css/ (после
 * x_main.css) и переопределяет тему. Косметика: цвета/тени/радиусы, логику не трогает.
 * color-mix() — Chrome/Edge/FF/Safari 2023+. UI refresh, 2026-06.
 */
:root{
  --ui-accent: #604fc9;
  --ui-accent-h: color-mix(in srgb, var(--ui-accent), #000 16%);      /* ховер/тёмный акцент (≈#5243ab) */
  --ui-tint-05: color-mix(in srgb, var(--ui-accent) 5%, transparent);
  --ui-tint-10: color-mix(in srgb, var(--ui-accent) 10%, transparent);
  --ui-tint-12: color-mix(in srgb, var(--ui-accent) 12%, transparent);
  --ui-tint-16: color-mix(in srgb, var(--ui-accent) 16%, transparent);
  --ui-tint-18: color-mix(in srgb, var(--ui-accent) 18%, transparent);
  --ui-tint-22: color-mix(in srgb, var(--ui-accent) 22%, transparent);
  /* тёмные полосы открытого подменю в сайдбаре — точные дефолты; площадка может переопределить */
  --ui-sub-bg: #3b3185;
  --ui-sub-head: #322a70;
}

/* ─── Акцент: кнопки, ссылки, пагинация ──────────────────────── */
.btn-primary,.btn-info{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important}
.btn-primary:hover,.btn-primary:focus,.btn-info:hover{background:var(--ui-accent-h)!important;border-color:var(--ui-accent-h)!important}
.btn-outline-primary,.btn-outline-info{color:var(--ui-accent)!important;border-color:var(--ui-accent)!important}
.btn-outline-primary:hover,.btn-outline-info:hover{background:var(--ui-accent)!important;color:#fff!important}
/* Единый «soft/tonal» вид ВСЕХ outline-кнопок: бледная подложка = тинт собственного цвета (через currentColor) →
   одно правило на все варианты. Яркий бордюр+текст сохранены. warning/orange были нечитаемы на белом — на своей
   подложке читаются. Фон БЕЗ !important — нативный :hover (сплошная заливка) перекрывает по специфичности.
   warning/orange/danger — семантические цвета, НЕ бренд (зашиты). .btn-outline-light не трогаем. */
.btn-outline-warning{color:#e0a800!important;border-color:#ffc107!important}
.btn-outline-warning:hover,.btn-outline-warning:focus,.btn-outline-warning:active,.btn-outline-warning:not(:disabled):not(.disabled):active{background-color:#ffc107!important;border-color:#ffc107!important;color:#1f2d3d!important}
.btn-outline-orange:hover,.btn-outline-orange:focus,.btn-outline-orange:active,.btn-outline-orange:not(:disabled):not(.disabled):active{background-color:#ff8b00!important;border-color:#ff8b00!important;color:#1f2d3d!important}
.btn-outline-primary,.btn-outline-secondary,.btn-outline-success,.btn-outline-info,.btn-outline-warning,.btn-outline-danger,.btn-outline-orange,.btn-outline-dark{background-color:color-mix(in srgb, currentColor 15%, #fff)}
a{color:var(--ui-accent-h)}
.text-primary{color:var(--ui-accent)!important}
.bg-primary{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important}
.page-item.active .page-link{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important}
.page-link{color:var(--ui-accent)}

/* ─── Карточки / модалки: мягкие тени и радиусы ──────────────── */
.card,.box,.modal-content,.bmodal .modal-content{box-shadow:0 1px 3px rgba(16,24,40,.07),0 1px 2px rgba(16,24,40,.04)!important;border:1px solid #eceef2!important;border-radius:12px!important}
.modal-header{border-top-left-radius:11px!important;border-top-right-radius:11px!important}
.content-wrapper{background:#f5f6f8!important}

/* ─── Поля ввода: фокус-ринг в акцент ────────────────────────── */
.form-control:focus,.custom-select:focus{border-color:var(--ui-accent)!important;box-shadow:0 0 0 3px var(--ui-tint-18)!important;outline:none!important}

/* ─── Кнопки: радиус 8px + аккуратная склейка в группах ──────── */
/* база — без !important: файл грузится после x_main, source-order хватает */
.btn{border-radius:8px}
/* обычные btn-group (модалки, одиночные дропдауны): выпрямляем нутро, круглим края по DOM-позиции */
.btn-group>.btn{border-radius:0!important}
.btn-group>.btn:first-child{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}
.btn-group>.btn:last-child,.btn-group>.btn.dropdown-toggle{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}
/* тулбар DataTables (.dt-buttons): край считаем по ВИДИМОСТИ, а не по DOM —
   скрытые .d-none кнопки не воруют скругление; вложенный дропдаун круглится по позиции группы.
   round все видимые, потом сплющиваем стыки: левый — через ~ (видит назад сквозь скрытые), правый — через :has(~) (вперёд). */
.dt-buttons>.btn:not(.d-none),.dt-buttons>.btn-group:not(.d-none)>.btn{border-radius:8px!important}
.dt-buttons>.btn:not(.d-none)~.btn:not(.d-none),.dt-buttons>.btn-group:not(.d-none)~.btn:not(.d-none),.dt-buttons>.btn:not(.d-none)~.btn-group:not(.d-none)>.btn,.dt-buttons>.btn-group:not(.d-none)~.btn-group:not(.d-none)>.btn{border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.dt-buttons>.btn:not(.d-none):has(~ .btn:not(.d-none)),.dt-buttons>.btn:not(.d-none):has(~ .btn-group:not(.d-none)),.dt-buttons>.btn-group:not(.d-none):has(~ .btn:not(.d-none))>.btn,.dt-buttons>.btn-group:not(.d-none):has(~ .btn-group:not(.d-none))>.btn{border-top-right-radius:0!important;border-bottom-right-radius:0!important}

/* ─── Выпадающие меню (dropdown / коллекции DataTables) ──────── */
.dropdown-menu,.dt-button-collection{border-radius:10px!important;border:1px solid #eceef2!important;box-shadow:0 6px 24px rgba(16,24,40,.12),0 2px 6px rgba(16,24,40,.06)!important;padding:6px!important}
.dt-button-collection>.dropdown-menu{border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}
.dropdown-item{border-radius:6px!important;padding:.45rem .75rem!important}
.dropdown-item:hover,.dropdown-item:focus{background-color:var(--ui-tint-10)!important;color:var(--ui-accent)!important}
.dropdown-item.active,.dropdown-item:active{background-color:var(--ui-accent)!important;color:#fff!important}
.dropdown-divider{border-top-color:#eceef2!important}

/* ─── Контекстное меню DataTables (ПКМ) ─────────────────────── */
.contextmenu{border-radius:10px!important;border:1px solid #eceef2!important;box-shadow:0 6px 24px rgba(16,24,40,.12),0 2px 6px rgba(16,24,40,.06)!important;background:#fff!important;padding:6px!important}
.contextmenu>div{border-radius:6px!important;padding:5px 11px!important}
.contextmenu>div.divider{padding:0!important;margin:4px 6px!important;height:1px!important;min-height:0!important;background:#eceef2!important;border:0!important;font-size:0!important;line-height:0!important;overflow:hidden;border-radius:0!important}
.contextmenu>div:not(.divider):hover{background-color:var(--ui-tint-10)!important;color:var(--ui-accent)!important}
.contextmenu>div:not(.divider):hover i{color:var(--ui-accent)!important}

/* ─── FullCalendar (перевозки): кнопки тулбара в стиль приложения ─── */
/* дефолтная тёмная тема .fc-button-primary (#2C3E50) → сегментные «белые + индиго-актив».
   Радиус 8px БЕЗ !important — внутренние стыки в .fc-button-group FC сплющивает сам. */
.fc .fc-button{border-radius:8px;font-weight:500;text-transform:none;box-shadow:none!important}
.fc .fc-button-primary{background-color:#fff!important;border-color:#d8dbe0!important;color:#3b3b4f!important}
.fc .fc-button-primary:hover{background-color:var(--ui-tint-10)!important;border-color:var(--ui-accent)!important;color:var(--ui-accent)!important}
.fc .fc-button-primary:not(:disabled):focus{box-shadow:0 0 0 3px var(--ui-tint-18)!important}
.fc .fc-button-primary:not(:disabled):active,.fc .fc-button-primary:not(:disabled).fc-button-active{background-color:var(--ui-accent)!important;border-color:var(--ui-accent)!important;color:#fff!important}
.fc .fc-button-primary:disabled{background-color:#fff!important;border-color:#e9ecef!important;color:#adb5bd!important}

/* ─── Сайдбар: активный пункт, раскрытые подменю, бейджи ─────── */
/* активный пункт — индиго-полоска слева + лёгкая подложка (а не сплошная заливка) */
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active:hover,.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active:focus,.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active,.nav-sidebar .nav-link.active{background-color:var(--ui-tint-16)!important;border-left:3px solid var(--ui-accent)!important}
.nav-sidebar .nav-link.active,.nav-sidebar .nav-link.active i,.nav-sidebar .nav-link.active p{color:#fff!important}
/* раскрытое подменю: тёмная полоса + отступ снизу, чтобы соседние не сливались */
.nav-sidebar .nav-item.has-treeview.menu-open{background-color:var(--ui-sub-bg)!important;margin-bottom:8px!important}
/* заголовок раскрытого пункта 1-го уровня — отделяем визуально */
.sidebar-dark-primary .nav-sidebar .nav-item.menu-open>.nav-link,.nav-sidebar .nav-item.menu-open>.nav-link{background-color:var(--ui-sub-head)!important;font-weight:600!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.12)!important}
.nav-sidebar .nav-treeview{background-color:var(--ui-sub-bg)!important}
/* красный счётчик-бейдж — в правый-верхний угол иконки, мельче */
.nav-sidebar .nav-link{position:relative!important}
.nav-sidebar .nav-link>.badge{position:absolute!important;left:32px!important;top:2px!important;right:auto!important;font-size:9px!important;line-height:1.4!important;padding:0 4px!important;border-radius:7px!important;z-index:3!important}
.badge{filter:saturate(.85);font-weight:600}

/* ─── База знаний (/office/knowledgebase/): карточки-категории ─── */
/* .info-box — общий AdminLTE-компонент → КАРТОЧКУ скоупим через :has(>.bg-secondary)
   (только KB-карточки с серой шапкой), чтобы не задеть info-box-виджеты на других страницах. */
.info-box:has(>.bg-secondary){border-radius:12px!important;border:1px solid #eceef2!important;box-shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04)!important;transition:box-shadow .16s ease,transform .16s ease}
.info-box:has(>.bg-secondary):hover{box-shadow:0 10px 26px rgba(16,24,40,.10)!important;transform:translateY(-2px)}
/* шапка: тёмную bg-secondary → лёгкий тинт акцента + акцентная иконка + тёмный заголовок + divider */
.info-box>.bg-secondary{background-color:var(--ui-tint-12)!important;color:#2c2c3a!important;border-bottom:1px solid var(--ui-tint-22)!important}
.info-box>.bg-secondary i{color:var(--ui-accent)!important;font-size:30px!important}
.info-box>.bg-secondary .col{font-weight:600!important;color:#2c2c3a!important}
.info-box .info-box-content a{color:var(--ui-accent-h)}
.info-box .info-box-content a:hover{color:var(--ui-accent);text-decoration:underline}

/* ─── Главная /office/ (лончер разделов, класс .icona): плитки в стиль приложения ─── */
.icona>.iconbut{border:1px solid #e9eaf0!important;border-radius:14px!important;box-shadow:0 1px 3px rgba(16,24,40,.05)!important;background:#fff!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}
.icona:hover>.iconbut{border-color:var(--ui-accent)!important;box-shadow:0 10px 26px var(--ui-tint-16)!important;transform:translateY(-3px);background-color:var(--ui-tint-05)!important}
.icona i{color:var(--ui-accent)!important;transition:color .16s ease}
.icona:hover i{color:var(--ui-accent-h)!important}
.icona,.icona .comment{color:#3b3b4f!important;font-weight:500!important}
