
/* ============================================================
   ASIDE LEFT — REDESIGN (desktop + mobile drawer)
   Источник: erp_desine/project/primitives.jsx — Sidebar.
   Только визуальные override'ы; разметка/JS не трогаем.
   Аддитивно: ничего не скрываем, существующая логика сохранена.
   ============================================================ */

/* --- Сам контейнер --- */
#aside_left {
  background: var(--erpds-surface);
  border-right: 1px solid var(--erpds-border);
  box-shadow: var(--erpds-shadow-sm);
  scrollbar-width: thin;
  scrollbar-color: var(--erpds-border-strong) transparent;
}
#aside_left::-webkit-scrollbar { width: 6px; }
#aside_left::-webkit-scrollbar-track { background: transparent; }
#aside_left::-webkit-scrollbar-thumb {
  background: var(--erpds-border-strong);
  border-radius: 999px;
}

/* --- Шапка с лого ---
   PHP: <div#menuLogo><a><span#menuLogoTd><img></span><span#menuLogoText><span#menuTopUsText><span#menuUsVersion></span></span></a>
   Redesign: blue gradient card, frosted icon, white text */
#aside_left #menuLogo {
  background: linear-gradient(135deg, #1a56db 0%, #0f3fa8 100%) !important;
  border-radius: 14px !important;
  margin: 10px 12px !important;
  padding: 0 !important;
  box-shadow: 0 2px 12px rgba(15, 63, 168, 0.35) !important;
  overflow: hidden !important;
  min-height: 0 !important;
  border-bottom: none !important;
}
#aside_left #menuLogo::before {
  content: '';
  position: absolute;
  top: -18px; right: -18px;
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  pointer-events: none;
}
#aside_left #menuLogo::after {
  content: '';
  position: absolute;
  bottom: -22px; left: -14px;
  width: 80px; height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}
#aside_left #menuLogo > a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transition: opacity 0.2s ease;
}
#aside_left #menuLogo > a:hover {
  background: transparent !important;
  opacity: 0.88;
}
#aside_left #menuLogo > a:active {
  opacity: 0.75;
}
#aside_left #menuLogoTd {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 14px !important;
  flex-shrink: 0 !important;
}
#aside_left #menuLogoImage {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: brightness(0) invert(1) !important;
}
#aside_left #menuLogoText {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  line-height: 1.15 !important;
}
#aside_left #menuTopUsText {
  font-weight: 700 !important;
  font-size: 23px !important;
  letter-spacing: 0.05em !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
}
#aside_left #menuUsVersion {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#aside_left #menuUsVersion::before {
  content: "";
}
#aside_left #menuLogo.modeTypeplan #menuTopUsText {
  color: rgba(255, 255, 255, 0.75) !important;
}
#aside_left #menuUsIsPlanned {
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.2) !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  margin: 2px 0 0 !important;
  display: inline-block !important;
  line-height: 1.3 !important;
}

/* --- Быстрый фильтр меню: теперь первый элемент сайдбара после переноса бренда в хедер --- */
#aside_left .wn-menu-filter {
  position: relative;
  margin: 0 !important;
  padding: 8px 10px 6px;
  background: var(--erpds-surface);
}

#aside_left .wn-menu-filter::before {
  content: "\f002";
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--erpds-text-muted);
  font-family: FontAwesome, sans-serif;
  font-size: 12px;
  line-height: 1;
  pointer-events: none;
}

#aside_left .wn-menu-filter input {
  height: 30px !important;
  padding: 0 34px 0 30px !important;
  border-color: var(--erpds-border) !important;
  border-radius: 8px !important;
  background: var(--erpds-bg-2) !important;
  color: var(--erpds-text) !important;
  font: 500 12.5px/1.2 var(--erpds-sans, ui-sans-serif, system-ui, sans-serif) !important;
  transition: background-color 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

#aside_left .wn-menu-filter input:hover {
  border-color: var(--erpds-border-strong) !important;
  background: var(--erpds-surface) !important;
}

#aside_left .wn-menu-filter input:focus-visible {
  outline: 2px solid var(--erpds-focus, #1871a5) !important;
  outline-offset: 2px !important;
  border-color: var(--erpds-accent) !important;
  background: var(--erpds-surface) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--erpds-focus, #1871a5) 12%, transparent) !important;
}

#aside_left .wn-menu-filter-clear {
  position: absolute;
  right: 17px;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--erpds-text-muted);
  cursor: pointer;
  font-size: 11px;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  transition: background-color 0.12s ease, color 0.12s ease, opacity 0.12s ease;
}

#aside_left .wn-menu-filter-active .wn-menu-filter-clear {
  opacity: 1;
  pointer-events: auto;
}

#aside_left .wn-menu-filter-clear:hover,
#aside_left .wn-menu-filter-clear:focus-visible {
  background: var(--erpds-border, #dde1e8);
  color: var(--erpds-text);
}

#aside_left .wn-menu-filter-clear:focus-visible {
  outline: 2px solid var(--erpds-focus, #1871a5);
  outline-offset: 2px;
}

/* --- Десктопный режим: компактные пункты по прототипу --- */
@media (min-width: 901px) {
  body:not(.aside-collapsed) #aside_left {
    position: sticky;
    overflow-x: hidden;
  }

  body:not(.aside-collapsed) #aside_collapse_btn {
    position: sticky;
    top: 8px;
    right: auto;
    z-index: 4;
    margin: 8px 12px -38px auto !important;
  }

  #aside_left .wn-menu-filter {
    position: sticky;
    top: 0;
    z-index: 2;
    padding-right: 52px;
    border-bottom: 1px solid var(--erpds-border);
  }

  body:not(.aside-collapsed) #aside_left .wn-menu-filter-clear {
    right: 59px;
  }

  /* Nav wrapper: padding 6px 4px как в прототипе (на ul, т.к. PHP: nav > ul > li) */
  #aside_left nav > ul {
    padding: 6px 3px !important;
    list-style: none;
    margin: 0;
  }

  #aside_left nav ul li > a.i0,
  #aside_left nav ul li > button.i0 {
    padding: 7px 8px 7px 8px !important;
    border-radius: 8px;
    margin: 0 3px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--erpds-text);
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.25;
    overflow: visible !important;
    white-space: nowrap;
    /* контекст позиционирования для chevron ::after — иначе absolute уходит на #aside_left и собирается в одну «плавающую» стрелку по центру панели */
    position: relative;
    transition: background-color 0.12s ease, color 0.12s ease;
  }
  #aside_left nav ul li > button.i0 {
    width: calc(100% - 6px);
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    box-sizing: border-box;
    position: relative;
    -webkit-appearance: none;
    appearance: none;
  }
  #aside_left nav ul li > a.i0 .us-icon-lmenu,
  #aside_left nav ul li > button.i0 .us-icon-lmenu {
    width: 16px;
    height: 16px;
    font-size: 15px;
    color: var(--erpds-text-muted);
    margin: 0;
    padding: 0;
    text-align: center;
    flex-shrink: 0;
    transition: color 0.12s ease;
  }
  #aside_left nav ul li:not(.journal-group-item) > a.i0:hover,
  #aside_left nav ul li:not(.journal-group-item) > button.i0:hover {
    background: var(--erpds-bg-2) !important;
    color: var(--erpds-text) !important;
  }
  #aside_left nav ul li:not(.journal-group-item) > a.i0:hover .us-icon-lmenu,
  #aside_left nav ul li:not(.journal-group-item) > button.i0:hover .us-icon-lmenu {
    color: var(--erpds-text);
  }
  #aside_left nav ul li.active:not(.journal-group-item) > a.i0,
  #aside_left nav ul li.active:not(.journal-group-item) > button.i0 {
    background: var(--erpds-accent-soft) !important;
    color: var(--erpds-accent-text) !important;
    font-weight: 600;
  }
  #aside_left nav ul li.active:not(.journal-group-item) > a.i0 .us-icon-lmenu,
  #aside_left nav ul li.active:not(.journal-group-item) > button.i0 .us-icon-lmenu {
    color: var(--erpds-accent-text);
  }

  /* Сепаратор групп — без линии (в прототипе линий нет) */
  #aside_left nav ul li.menu-separator {
    margin-top: 8px !important;
    padding-top: 0 !important;
    border-top: none !important;
  }

  /* li с a:not(.i0) — компенсация 1px из-за <script> в DOM перед таким элементом */
  #aside_left nav > ul > li:has(> a:not(.i0)):not(.menu-separator) {
    margin-top: -1px !important;
  }

  /* Пункты без класса .i0 (напр. "Покрытие") — унифицировать высоту и иконку */
  #aside_left nav ul li > a:not(.i0) {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 8px 7px 8px !important;
    height: 30px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: var(--erpds-text) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
    margin: 0 3px !important;
    transition: background-color 0.12s ease, color 0.12s ease !important;
  }
  #aside_left nav ul li > a:not(.i0) .us-icon-lmenu {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
    mask-size: 15px 15px !important;
    -webkit-mask-size: 15px 15px !important;
    transition: background-color 0.12s ease !important;
  }
  #aside_left nav ul li > a:not(.i0):hover {
    background: var(--erpds-bg-2) !important;
    color: var(--erpds-text) !important;
  }
  #aside_left nav ul li > a:not(.i0):hover .us-icon-lmenu {
    background-color: var(--erpds-text, #1B2232) !important;
  }
  #aside_left nav ul li.active > a:not(.i0) {
    background: var(--erpds-accent-soft) !important;
    color: var(--erpds-accent-text) !important;
    font-weight: 600 !important;
  }
  #aside_left nav ul li.active > a:not(.i0) .us-icon-lmenu {
    background-color: var(--erpds-accent-text, #2D4AC7) !important;
  }

  /* Chevron expand — на desktop style.css определяет его только в max-width:900px,
     поэтому добавляем полное определение здесь */
  #aside_left nav ul li > a.i0:not([href])::after,
  #aside_left nav ul li > button.i0::after {
    content: '›' !important;
    position: absolute !important;
    inset: unset !important;
    right: 10px !important;
    top: 50% !important;
    background: none !important;
    opacity: 1 !important;
    font-size: 16px !important;
    color: var(--erpds-border-strong, rgba(0,0,0,0.28)) !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
    transition: transform 0.22s ease !important;
  }
  #aside_left nav ul li:has(> ul:not([style*="display: none"])) > a.i0:not([href])::after,
  #aside_left nav ul li:has(> ul:not([style*="display: none"])) > button.i0::after {
    transform: translateY(-50%) rotate(90deg) !important;
  }
  #aside_left nav ul li.active > a.i0:not([href])::after,
  #aside_left nav ul li.active > button.i0::after {
    color: var(--erpds-accent-text, #2D4AC7) !important;
    opacity: 0.7 !important;
  }

  /* Подменю — инлайн-секция (не плавающая карточка).
     Сбрасываем box-shadow/border/border-radius из style.css:647
     и border-left + margin-left:22px из style.css:2481. */
  #aside_left nav ul li:not(.journal-group-item) ul {
    padding: 0 2px 4px 8px;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: none !important;
    border-left: none !important;
    background: transparent !important;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
  }
  #aside_left nav ul li:not(.journal-group-item) ul li a {
    border-radius: 6px;
    margin: 0 0;
    color: var(--erpds-text-muted) !important;
    font-size: 12px !important;
    font-weight: 500;
    padding: 5px 8px !important;
    min-height: unset !important;
    display: flex;
    align-items: center;
    gap: 6px;
    position: static;
  }
  /* Листовые подпункты с тире — вложенный уровень */
  #aside_left nav ul li:not(.journal-group-item) ul li ul li a {
    font-size: 11.5px !important;
    padding: 4px 8px !important;
    color: var(--erpds-text-muted) !important;
  }
  /* Dash-маркер (6×1px span аналог) */
  #aside_left nav ul li:not(.journal-group-item) ul li a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 1px;
    background: var(--erpds-border-strong);
    flex-shrink: 0;
  }
  #aside_left nav ul li:not(.journal-group-item) ul li a:hover {
    background: var(--erpds-bg-2) !important;
    color: var(--erpds-text) !important;
  }
  #aside_left nav ul li:not(.journal-group-item) ul li.active a,
  #aside_left nav ul li:not(.journal-group-item) ul li a.active {
    color: var(--erpds-accent-text) !important;
    font-weight: 600;
  }
}

/* --- Футер aside (копирайт/версия) --- */
#aside_left footer,
#aside_left .aside-footer {
  border-top: 1px solid var(--erpds-border);
  padding: 10px 14px;
  font-size: 10.5px;
  color: var(--erpds-text-faint);
}
#aside_left footer .mono,
#aside_left footer code {
  font-family: var(--erpds-mono);
}

/* --- Мобильный drawer: палитра + радиусы, touch-цели не уменьшаем --- */
@media (max-width: 900px) {
  #aside_left {
    background: var(--erpds-surface);
    border-right: 1px solid var(--erpds-border);
    box-shadow: var(--erpds-shadow);
  }
  /* beats style.css:2371 — версия снова видна в drawer */
  #aside_left #menuUsVersion {
    display: block !important;
  }
  #aside_left .wn-menu-filter {
    padding: 10px 12px 8px;
  }
  #aside_left .wn-menu-filter::before {
    left: 24px;
  }
  #aside_left .wn-menu-filter-clear {
    right: 21px;
    width: 24px;
    height: 24px;
  }
  #aside_left .wn-menu-filter input {
    height: 38px !important;
    padding-left: 34px !important;
    padding-right: 40px !important;
    font-size: 14px !important;
  }
  #aside_left nav ul li > a.i0,
  #aside_left nav ul li > button.i0 {
    color: var(--erpds-text);
    border-radius: 8px;
    margin: 2px 6px;
    padding-left: 12px;
    padding-right: 12px;
    gap: 12px;
  }
  #aside_left nav ul li > button.i0 {
    width: calc(100% - 12px);
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    box-sizing: border-box;
    position: relative;
    font-weight: 500;
    -webkit-appearance: none;
    appearance: none;
  }
  #aside_left nav ul li > a.i0 .us-icon-lmenu,
  #aside_left nav ul li > button.i0 .us-icon-lmenu {
    color: var(--erpds-text-muted);
    width: 22px;
    margin-right: 0;
  }
  #aside_left nav ul li:not(.journal-group-item) > a.i0:hover,
  #aside_left nav ul li:not(.journal-group-item) > a.i0:active,
  #aside_left nav ul li:not(.journal-group-item) > button.i0:hover,
  #aside_left nav ul li:not(.journal-group-item) > button.i0:active {
    background: var(--erpds-bg-2);
  }
  #aside_left nav ul li.active:not(.journal-group-item) > a.i0,
  #aside_left nav ul li.active:not(.journal-group-item) > button.i0 {
    background: var(--erpds-accent-soft);
    color: var(--erpds-accent-text);
  }
  #aside_left nav ul li.active:not(.journal-group-item) > a.i0 .us-icon-lmenu,
  #aside_left nav ul li.active:not(.journal-group-item) > button.i0 .us-icon-lmenu {
    color: var(--erpds-accent-text);
  }
  #aside_left nav ul li.menu-separator {
    margin-top: 4px;
    padding-top: 4px;
  }
  #aside_left nav ul li ul li a {
    color: var(--erpds-text-muted);
    border-radius: 8px;
    margin: 1px 8px;
  }
  #aside_left nav ul li ul li a:hover,
  #aside_left nav ul li ul li a:active {
    background: var(--erpds-bg-2);
    color: var(--erpds-text);
  }
  /* Tap ripple — приглушаем под палитру */
  #aside_left nav ul li a::after {
    background: rgba(45, 74, 199, 0.10);
  }
  /* Кнопка закрытия */
  #mobile_menu_close_btn {
    border-bottom: 1px solid var(--erpds-border);
    color: var(--erpds-text-muted);
  }
}

/* ============================================================
   COUNTER PILLS — журнал заданий
   Прототип: CountPill (primitives.jsx:157) — soft фон + контрастный текст.
   Переопределяем существующие .journal-badge поверх style.css.
   ============================================================ */
#aside_left .journal-badge {
  min-width: 24px;
  height: 18px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  font-family: var(--erpds-mono);
  font-feature-settings: "tnum";
  line-height: 1.4;
  border: 1px solid transparent;
  color: var(--erpds-text-on-accent, #fff);
  transition: var(--erpds-transition);
  user-select: none;
  box-shadow: var(--erpds-shadow-sm);
}
#aside_left .journal-badge.badge-active {
  background: var(--erpds-bad-soft);
  color: var(--erpds-bad-text);
}
#aside_left .journal-badge.badge-total {
  background: var(--erpds-ok-soft);
  color: var(--erpds-ok-text);
}
#aside_left #span_mywork.journal-badge.badge-active {
  background: var(--erpds-accent-soft);
  color: var(--erpds-accent-text);
  border-color: var(--erpds-accent-soft);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(59, 91, 219, 0.08) inset;
}
#aside_left #span_mywork.journal-badge.badge-active::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 50%, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0) 36%),
    linear-gradient(110deg, rgba(59, 91, 219, 0.08), rgba(59, 91, 219, 0.22), rgba(255, 255, 255, 0.16), rgba(59, 91, 219, 0.10));
  opacity: 0.92;
  transform-origin: center;
  animation: erpds-mywork-breathe 2.8s ease-in-out infinite;
  z-index: -1;
}
#aside_left #span_mywork.journal-badge.badge-active::after {
  content: "";
  position: absolute;
  top: -35%;
  bottom: -35%;
  left: -55%;
  width: 48%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0));
  opacity: 0;
  transform: translateX(0) rotate(16deg);
  animation: erpds-mywork-sheen 4.6s ease-in-out infinite;
  pointer-events: none;
}
#aside_left .journal-badge:hover {
  cursor: pointer;
  transform: translateY(-0.5px);
  box-shadow: 0 2px 4px rgba(15,23,42,0.08);
}
#aside_left .journal-badge:active {
  transform: scale(0.96);
  filter: brightness(0.98);
}
#aside_left #span_mywork.journal-badge.badge-active #span_mywork_counter_id,
#aside_left .journal-badge .span_news_counter {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  font-weight: inherit !important;
  font-size: inherit !important;
  margin: 0 !important;
}
/* Ensure badge is visible when row is active (blue background) */
#aside_left .journal-header-table:has(a.span_bold) #span_mywork.journal-badge.badge-active {
  background: var(--erpds-surface);
  border-color: var(--erpds-accent-soft);
}
#aside_left #span_mywork.journal-badge.badge-active:hover {
  background: var(--erpds-accent-soft-hover);
  border-color: var(--erpds-accent-hover);
  box-shadow:
    0 6px 14px rgba(59, 91, 219, 0.14),
    0 0 0 1px rgba(59, 91, 219, 0.16) inset;
}

/* Pulse animation for high priority/count badges */
@keyframes erpds-pulse {
  0% { box-shadow: 0 0 0 0 rgba(59, 91, 219, 0.4); }
  70% { box-shadow: 0 0 0 6px rgba(59, 91, 219, 0); }
  100% { box-shadow: 0 0 0 0 rgba(59, 91, 219, 0); }
}

@keyframes erpds-mywork-breathe {
  0%, 100% {
    opacity: 0.82;
    transform: scale(1);
    filter: saturate(0.98);
  }
  45% {
    opacity: 1;
    transform: scale(1.035);
    filter: saturate(1.08);
  }
  60% {
    opacity: 0.96;
    transform: scale(1.015);
    filter: saturate(1.03);
  }
}

@keyframes erpds-mywork-sheen {
  0%, 62% {
    opacity: 0;
    transform: translateX(0) rotate(16deg);
  }
  72% {
    opacity: 0.72;
  }
  88% {
    opacity: 0;
    transform: translateX(250%) rotate(16deg);
  }
  100% {
    opacity: 0;
    transform: translateX(250%) rotate(16deg);
  }
}

#aside_left .journal-badge.badge-pulse {
  animation: erpds-pulse 2.2s ease-out infinite;
  border-color: var(--erpds-accent) !important;
  box-shadow:
    0 0 0 0 rgba(59, 91, 219, 0.22),
    0 4px 12px rgba(59, 91, 219, 0.16);
}
@media (prefers-reduced-motion: reduce) {
  #aside_left #span_mywork.journal-badge.badge-active::before,
  #aside_left #span_mywork.journal-badge.badge-active::after,
  #aside_left .journal-badge.badge-pulse {
    animation: none;
  }
  #aside_left #span_mywork.journal-badge.badge-active {
    box-shadow:
      0 1px 2px rgba(15, 23, 42, 0.08),
      0 0 0 1px rgba(59, 91, 219, 0.12) inset,
      0 0 0 3px rgba(59, 91, 219, 0.10);
  }
}

/* ============================================================
   PER-TYPE TASK COUNTERS — AJAX-подменю «Журнал заданий»
   PHP: BodyHtml::leftAjaxMenu() рендерит .link_leftmenu_j_count
        только при counter > 0; при 0 — компактную .crumb-dot.
   Прототип: primitives.jsx:117-130 — count > 0 = bad/active pill.
   ============================================================ */
#aside_left li.journal-type-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  width: 100% !important;
  margin: 1px 0 !important;
  padding: 4px 8px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  transition: background-color .15s ease, color .15s ease !important;
}
#aside_left li.journal-type-item:hover {
  background: var(--erpds-bg-2, #F1F5F9) !important;
}
#aside_left li.journal-type-item .journal-type-item__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 24px) !important;
}
#aside_left li.journal-type-item .journal-type-item__label > a {
  display: block !important;
  color: var(--erpds-text-muted, #475569) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color .15s ease !important;
}
#aside_left li.journal-type-item:hover .journal-type-item__label > a {
  color: var(--erpds-accent-text, #1871a5) !important;
}
#aside_left li.journal-type-item .journal-type-item__counter,
#aside_left li.journal-type-item .journal-type-item__counter-inner {
  flex: 0 0 18px !important;
  width: 18px !important;
  max-width: 18px !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#aside_left li.journal-type-item .journal-type-item__counter a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  transition: background-color .15s ease !important;
}
#aside_left li.journal-type-item .journal-type-item__counter a:hover {
  background: color-mix(in srgb, var(--erpds-accent, #1871a5) 12%, var(--erpds-surface, #fff)) !important;
}
#aside_left li.journal-type-item .journal-type-item__counter a:focus-visible {
  outline: 2px solid var(--erpds-focus, var(--erpds-accent, #1871a5)) !important;
  outline-offset: 1px !important;
}
#aside_left li.journal-type-item .crumb-dot {
  display: block !important;
  flex: 0 0 7px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--erpds-border-strong, #CBD5E1) !important;
  transition: background-color .15s ease, transform .12s ease !important;
}
#aside_left li.journal-type-item:hover .crumb-dot {
  background: var(--erpds-accent, #1871a5) !important;
  transform: scale(1.15);
}
#aside_left #nav_ul_li_task_id .link_leftmenu_j_count,
#aside_left .journal-group-item div[id^="ajax_left_typer_group_"] .link_leftmenu_j_count {
  background: var(--erpds-bad-soft) !important;
  color: var(--erpds-bad-text) !important;
  font-family: var(--erpds-mono);
  font-feature-settings: "tnum";
  font-weight: 600 !important;
  font-size: 10.5px !important;
  min-width: 22px;
  height: 17px;
  border-radius: 999px;
  padding: 0 6px;
  letter-spacing: 0;
}
/* ============================================================
   JOURNAL TASKS HEADER — единый стиль с остальными nav items
   PHP структура: li > table.journal-header-table > tr >
     [td.journal-title-cell > a.i0] [td > badge] [td > badge]
   Цель: tr = flex-строка как стандартный nav item.
   ============================================================ */

/* Растворяем table-layout: table и tbody → block, tr → flex */
#aside_left .journal-header-table {
  display: block !important;
  width: 100% !important;
  border-spacing: 0 !important;
  border-collapse: collapse !important;
}
#aside_left .journal-header-table tbody {
  display: block !important;
}
#aside_left .journal-header-table tr {
  display: flex !important;
  align-items: center !important;
  height: 30px !important;
  border-radius: 8px;
  transition: background-color 0.12s ease;
}
#aside_left .journal-header-table td {
  display: block !important;
  padding: 0 !important;
  vertical-align: unset !important;
}
/* title-cell — занимает всё свободное место */
#aside_left .journal-title-cell {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
/* badge cells — прижаты вправо */
#aside_left .journal-header-table td:nth-child(2) {
  flex-shrink: 0 !important;
  padding-left: 6px !important;
}
#aside_left .journal-header-table td:nth-child(3) {
  flex-shrink: 0 !important;
  padding: 0 6px 0 4px !important;
}

/* Desktop: геометрия и типографика a.i0 как у стандартных items */
@media (min-width: 901px) {
  #aside_left .journal-header-table tr {
    margin: 0 3px;
    width: calc(100% - 6px) !important;
  }
  #aside_left .journal-title-cell a.i0 {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 7px 8px 7px 8px !important;
    min-height: unset !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: var(--erpds-text) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-decoration: none !important;
  }
  #aside_left .journal-title-cell a.i0 .us-icon-lmenu {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    mask-size: 15px 15px !important;
    -webkit-mask-size: 15px 15px !important;
  }
  /* Hover — вся строка, не только ссылка */
  #aside_left .journal-header-table tr:hover {
    background: var(--erpds-bg-2) !important;
  }
  /* Active — a.i0 получает класс span_bold */
  #aside_left .journal-header-table:has(a.span_bold) tr {
    background: var(--erpds-accent-soft) !important;
  }
  #aside_left .journal-title-cell a.span_bold {
    color: var(--erpds-accent-text) !important;
    font-weight: 600 !important;
  }
  #aside_left .journal-header-table:has(a.span_bold) .us-icon-lmenu {
    background-color: var(--erpds-accent-text, #2D4AC7) !important;
  }
}

/* Mobile */
@media (max-width: 900px) {
  #aside_left .journal-header-table tr {
    margin: 2px 6px;
    width: calc(100% - 12px) !important;
  }
  #aside_left .journal-title-cell a.i0 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    padding-left: 12px !important;
    padding-right: 8px !important;
    color: var(--erpds-text) !important;
    text-decoration: none !important;
  }
  #aside_left .journal-header-table tr:hover,
  #aside_left .journal-header-table tr:active {
    background: var(--erpds-bg-2) !important;
  }
  #aside_left .journal-header-table:has(a.span_bold) tr {
    background: var(--erpds-accent-soft) !important;
  }
  #aside_left .journal-title-cell a.span_bold {
    color: var(--erpds-accent-text) !important;
  }
}

/* ============================================================
   SVG ICON REPLACEMENT — mask-image technique
   FA-глиф скрыт через font-size:0 ТОЛЬКО для известных классов.
   Кастомные пункты (fa-* из БД) остаются как FA-глифы.
   background-color = тинт; mask-image = SVG из primitives.jsx.
   viewBox 0 0 24 24, strokeWidth 1.6, fill=none.
   ============================================================ */

/* Base mask props — только для известных FA-классов.
   li a (не li > a.i0): покрывает журнал (a внутри table) и покрытие (a без i0) */
#aside_left nav ul li a :is(
  .fa-star, .fa-users, .fa-bar-chart, .fa-pie-chart,
  .fa-envelope, .fa-commenting, .fa-money,
  .fa-window-maximize, .fa-sitemap, .fa-compress,
  .fa-plug, .fa-wrench, .fa-archive, .fa-home,
  .fa-user-secret, .fa-bus, .fa-bullhorn,
  .fa-sticky-note-o, .fa-file-text-o, .fa-microphone, .fa-cog,
  .fa-table
).us-icon-lmenu {
  font-size: 0 !important;
  color: transparent !important;
  background-color: var(--erpds-text-muted, #525A66);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 15px 15px;
  mask-size: 15px 15px;
}
#aside_left nav ul li:not(.journal-group-item) a:hover :is(
  .fa-star, .fa-users, .fa-bar-chart, .fa-pie-chart,
  .fa-envelope, .fa-commenting, .fa-money,
  .fa-window-maximize, .fa-sitemap, .fa-compress,
  .fa-plug, .fa-wrench, .fa-archive, .fa-home,
  .fa-user-secret, .fa-bus, .fa-bullhorn,
  .fa-sticky-note-o, .fa-file-text-o, .fa-microphone, .fa-cog,
  .fa-table
).us-icon-lmenu {
  background-color: var(--erpds-text, #1B2232) !important;
}
#aside_left nav ul li.active:not(.journal-group-item) a :is(
  .fa-star, .fa-users, .fa-bar-chart, .fa-pie-chart,
  .fa-envelope, .fa-commenting, .fa-money,
  .fa-window-maximize, .fa-sitemap, .fa-compress,
  .fa-plug, .fa-wrench, .fa-archive, .fa-home,
  .fa-user-secret, .fa-bus, .fa-bullhorn,
  .fa-sticky-note-o, .fa-file-text-o, .fa-microphone, .fa-cog,
  .fa-table
).us-icon-lmenu {
  background-color: var(--erpds-accent-text, #2D4AC7) !important;
}

/* --- home (fa-star) */
#aside_left .fa-star {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8M5 10v10h14V10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8M5 10v10h14V10'/%3E%3C/svg%3E");
}
/* --- user (fa-users, fa-microphone) */
#aside_left .fa-users,
#aside_left .fa-microphone {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
}
/* --- pie (fa-bar-chart, fa-pie-chart) */
#aside_left .fa-bar-chart,
#aside_left .fa-pie-chart {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9h-9z'/%3E%3Cpath d='M12 3v9h9A9 9 0 0 0 12 3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9h-9z'/%3E%3Cpath d='M12 3v9h9A9 9 0 0 0 12 3z'/%3E%3C/svg%3E");
}
/* --- chat (fa-envelope, fa-commenting) */
#aside_left .fa-envelope,
#aside_left .fa-commenting {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
/* --- rouble (fa-money) */
#aside_left .fa-money {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h6a4 4 0 1 1 0 8H6M6 16h10M6 8v14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h6a4 4 0 1 1 0 8H6M6 16h10M6 8v14'/%3E%3C/svg%3E");
}
/* --- layers (fa-window-maximize) */
#aside_left .fa-window-maximize {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3C/svg%3E");
}
/* --- antenna (fa-sitemap) */
#aside_left .fa-sitemap {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='6' r='2'/%3E%3Cpath d='M12 8v14M5 4a10 10 0 0 1 14 0M8 7a6 6 0 0 1 8 0'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='6' r='2'/%3E%3Cpath d='M12 8v14M5 4a10 10 0 0 1 14 0M8 7a6 6 0 0 1 8 0'/%3E%3C/svg%3E");
}
/* --- cable (fa-compress) */
#aside_left .fa-compress {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h4l3-7 3 14 3-7h3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h4l3-7 3 14 3-7h3'/%3E%3C/svg%3E");
}
/* --- radio (fa-plug) */
#aside_left .fa-plug {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M16.2 7.8a6 6 0 0 1 0 8.4M7.8 16.2a6 6 0 0 1 0-8.4M19 5a10 10 0 0 1 0 14M5 19a10 10 0 0 1 0-14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M16.2 7.8a6 6 0 0 1 0 8.4M7.8 16.2a6 6 0 0 1 0-8.4M19 5a10 10 0 0 1 0 14M5 19a10 10 0 0 1 0-14'/%3E%3C/svg%3E");
}
/* --- checklist (fa-wrench) */
#aside_left .fa-wrench {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5l2 2 4-4M3 12l2 2 4-4M3 19l2 2 4-4M13 6h8M13 13h8M13 20h8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5l2 2 4-4M3 12l2 2 4-4M3 19l2 2 4-4M13 6h8M13 13h8M13 20h8'/%3E%3C/svg%3E");
}
/* --- box (fa-archive) */
#aside_left .fa-archive {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l9-4 9 4-9 4z'/%3E%3Cpath d='M3 7v10l9 4 9-4V7'/%3E%3Cpath d='M12 11v10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l9-4 9 4-9 4z'/%3E%3Cpath d='M3 7v10l9 4 9-4V7'/%3E%3Cpath d='M12 11v10'/%3E%3C/svg%3E");
}
/* --- map (fa-home) */
#aside_left .fa-home {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l6-2 6 2 6-2v14l-6 2-6-2-6 2zM9 4v14M15 6v14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l6-2 6 2 6-2v14l-6 2-6-2-6 2zM9 4v14M15 6v14'/%3E%3C/svg%3E");
}
/* --- usersCog (fa-user-secret) */
#aside_left .fa-user-secret {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 21a6 6 0 0 1 12 0'/%3E%3Ccircle cx='18' cy='13' r='2'/%3E%3Cpath d='M18 9v2M18 15v2M22 13h-2M16 13h-2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 21a6 6 0 0 1 12 0'/%3E%3Ccircle cx='18' cy='13' r='2'/%3E%3Cpath d='M18 9v2M18 15v2M22 13h-2M16 13h-2'/%3E%3C/svg%3E");
}
/* --- truck (fa-bus) */
#aside_left .fa-bus {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='6' width='14' height='11'/%3E%3Cpath d='M15 10h4l3 3v4h-7M5.5 21a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm13 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='6' width='14' height='11'/%3E%3Cpath d='M15 10h4l3 3v4h-7M5.5 21a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm13 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3C/svg%3E");
}
/* --- megaphone (fa-bullhorn) */
#aside_left .fa-bullhorn {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a2 2 0 0 0 2 2h2v6l4-6h2a2 2 0 0 0 2-2l6 2V5l-6 2H7a2 2 0 0 0-2 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a2 2 0 0 0 2 2h2v6l4-6h2a2 2 0 0 0 2-2l6 2V5l-6 2H7a2 2 0 0 0-2 2'/%3E%3C/svg%3E");
}
/* --- notebook (fa-sticky-note-o) */
#aside_left .fa-sticky-note-o {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 3v18M4 9h5M4 15h5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 3v18M4 9h5M4 15h5'/%3E%3C/svg%3E");
}
/* --- file/page (fa-file-text-o) — journal custom subgroup */
#aside_left .fa-file-text-o {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 3v18M4 9h5M4 15h5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 3v18M4 9h5M4 15h5'/%3E%3C/svg%3E");
}
/* --- settings (fa-cog) */
#aside_left .fa-cog {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 0 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 0 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3h.1a1.7 1.7 0 0 0 1-1.5V3a2 2 0 0 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8v.1a1.7 1.7 0 0 0 1.5 1H21a2 2 0 0 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 0 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 0 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3h.1a1.7 1.7 0 0 0 1-1.5V3a2 2 0 0 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8v.1a1.7 1.7 0 0 0 1.5 1H21a2 2 0 0 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z'/%3E%3C/svg%3E");
}


/* --- table (fa-table) — кастомные главы из БД */
#aside_left .fa-table {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18'/%3E%3C/svg%3E");
}

/* ============================================================
   JOURNAL AJAX SUBMENU — токен-оверрайды поверх style.css
   style.css (8077-8200) уже имеет layout; здесь только:
   1. Убираем chip-стиль quick-link → плоские ссылки (прототип)
   2. Уменьшаем font-size 15px → 12px (SidebarChild spec)
   3. Счётчики: solid bg → soft bg + token color
   4. Hover: raw hex → --erpds-bg-2
   ============================================================ */

/* Quick links журнала — компактные чипы в одну строку с переносом */
#aside_left .journal-quick-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  align-content: flex-start !important;
  gap: 5px !important;
  width: auto !important;
  padding: 5px 8px 4px !important;
}
#aside_left .journal-quick-link {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 9px 0 8px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: var(--erpds-text-muted, #475569) !important;
  background: var(--erpds-bg-2, #F1F5F9) !important;
  border: 1px solid color-mix(in srgb, var(--erpds-border, #DDE1E8) 45%, transparent) !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
#aside_left .journal-quick-link .ql-ico {
  width: 13px !important;
  height: 13px !important;
  flex: 0 0 13px !important;
  display: inline-block !important;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat !important;
          mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
          mask-position: center !important;
  -webkit-mask-size: contain !important;
          mask-size: contain !important;
  opacity: .8 !important;
  transition: opacity .15s ease !important;
}
#aside_left .journal-quick-link:hover {
  color: var(--erpds-accent-text, #1871a5) !important;
  background: color-mix(in srgb, var(--erpds-accent, #1871a5) 12%, var(--erpds-surface, #fff)) !important;
  border-color: color-mix(in srgb, var(--erpds-accent, #1871a5) 28%, var(--erpds-border, #DDE1E8)) !important;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--erpds-accent, #1871a5) 16%, transparent) !important;
}
#aside_left .journal-quick-link:hover .ql-ico { opacity: 1 !important; }
#aside_left .journal-quick-link:active { box-shadow: 0 1px 2px color-mix(in srgb, var(--erpds-accent, #1871a5) 16%, transparent) !important; }
#aside_left .journal-quick-link.is-active {
  color: #fff !important;
  background: var(--erpds-accent, #1871a5) !important;
  border-color: var(--erpds-accent, #1871a5) !important;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--erpds-accent, #1871a5) 34%, transparent) !important;
}
#aside_left .journal-quick-link.is-active:hover {
  background: var(--erpds-accent-hover, #15648f) !important;
  color: #fff !important;
}
#aside_left .journal-quick-link.is-active .ql-ico { opacity: 1 !important; }
#aside_left .journal-quick-link:focus-visible {
  outline: 2px solid var(--erpds-focus, var(--erpds-accent, #1871a5)) !important;
  outline-offset: 2px !important;
}
#aside_left .ql-ico--my {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='m8 12 3 3 6-7'/%3E%3C/svg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='m8 12 3 3 6-7'/%3E%3C/svg%3E") !important;
}
#aside_left .ql-ico--news {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h12a2 2 0 0 1 2 2v14H7a2 2 0 0 1-2-2V4Z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h12a2 2 0 0 1 2 2v14H7a2 2 0 0 1-2-2V4Z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E") !important;
}
#aside_left .ql-ico--plans {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='18' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18M8 15h3M14 15h3M8 19h3'/%3E%3C/svg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='18' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18M8 15h3M14 15h3M8 19h3'/%3E%3C/svg%3E") !important;
}

/* Footer links журнала — тот же chip-паттерн, что у quick links */
#aside_left .journal-footer-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  align-content: flex-start !important;
  gap: 5px !important;
  width: auto !important;
  padding: 4px 8px 5px !important;
}
#aside_left aside .journal-footer-link,
#aside_left .journal-footer-link {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 9px 0 8px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: var(--erpds-text-muted, #475569) !important;
  background: var(--erpds-bg-2, #F1F5F9) !important;
  border: 1px solid color-mix(in srgb, var(--erpds-border, #DDE1E8) 45%, transparent) !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
#aside_left .journal-footer-link .fl-ico {
  width: 13px !important;
  height: 13px !important;
  flex: 0 0 13px !important;
  display: inline-block !important;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat !important;
          mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
          mask-position: center !important;
  -webkit-mask-size: contain !important;
          mask-size: contain !important;
  opacity: .8 !important;
  transition: opacity .15s ease !important;
}
#aside_left .journal-footer-link:hover {
  color: var(--erpds-accent-text, #1871a5) !important;
  background: color-mix(in srgb, var(--erpds-accent, #1871a5) 12%, var(--erpds-surface, #fff)) !important;
  border-color: color-mix(in srgb, var(--erpds-accent, #1871a5) 28%, var(--erpds-border, #DDE1E8)) !important;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--erpds-accent, #1871a5) 16%, transparent) !important;
}
#aside_left .journal-footer-link:hover .fl-ico { opacity: 1 !important; }
#aside_left .journal-footer-link:active { box-shadow: 0 1px 2px color-mix(in srgb, var(--erpds-accent, #1871a5) 16%, transparent) !important; }
#aside_left .journal-footer-link.is-active {
  color: #fff !important;
  background: var(--erpds-accent, #1871a5) !important;
  border-color: var(--erpds-accent, #1871a5) !important;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--erpds-accent, #1871a5) 34%, transparent) !important;
}
#aside_left .journal-footer-link.is-active:hover {
  background: var(--erpds-accent-hover, #15648f) !important;
  color: #fff !important;
}
#aside_left .journal-footer-link.is-active .fl-ico { opacity: 1 !important; }
#aside_left .journal-footer-link:focus-visible {
  outline: 2px solid var(--erpds-focus, var(--erpds-accent, #1871a5)) !important;
  outline-offset: 2px !important;
}
#aside_left .fl-ico--periodic {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.34-5.66'/%3E%3Cpath d='M20 4v6h-6'/%3E%3Cpath d='M12 8v5l3 2'/%3E%3C/svg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.34-5.66'/%3E%3Cpath d='M20 4v6h-6'/%3E%3Cpath d='M12 8v5l3 2'/%3E%3C/svg%3E") !important;
}
#aside_left .fl-ico--calendar {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='18' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3Ccircle cx='17' cy='17' r='1.5'/%3E%3C/svg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='18' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3Ccircle cx='17' cy='17' r='1.5'/%3E%3C/svg%3E") !important;
}

/* Поиск + кнопка «+» в одну строку, одинаковая высота */
#aside_left .journal-search-wrap {
  display: flex !important;
  align-items: stretch !important;
  gap: 6px !important;
  padding: 6px 8px 4px !important;
}
#aside_left .journal-search-row {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 6px !important;
  height: 30px !important;
  min-height: 0 !important;
  line-height: normal !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}
#aside_left .journal-search-row > input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 30px !important;
  min-height: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 10px !important;
  font-size: 12.5px !important;
  line-height: normal !important;
  color: var(--erpds-text, #0F172A) !important;
  background: var(--erpds-bg-2, #F6F7F9) !important;
  border: 1px solid var(--erpds-border, #DDE1E8) !important;
  border-radius: 8px !important;
  outline: none !important;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease !important;
}
#aside_left .journal-search-row:focus-within > input {
  background: var(--erpds-surface, #fff) !important;
  border-color: var(--erpds-accent, #1871a5) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--erpds-accent, #1871a5) 16%, transparent) !important;
}
#aside_left .journal-search-row > button[type="submit"] {
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  min-height: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  color: var(--erpds-accent-text, #1871a5) !important;
  background: color-mix(in srgb, var(--erpds-accent, #1871a5) 12%, var(--erpds-surface, #fff)) !important;
  border: 1px solid color-mix(in srgb, var(--erpds-accent, #1871a5) 28%, var(--erpds-border, #DDE1E8)) !important;
  border-radius: 8px !important;
  opacity: 1 !important;
  cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .12s ease !important;
}
#aside_left .journal-search-row > button[type="submit"]:hover {
  color: #fff !important;
  background: var(--erpds-accent, #1871a5) !important;
  border-color: var(--erpds-accent, #1871a5) !important;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--erpds-accent, #1871a5) 20%, transparent) !important;
}
#aside_left .journal-search-row > button[type="submit"]:active {
  transform: translateY(1px);
}
#aside_left .journal-search-row > button[type="submit"]:focus-visible {
  outline: 2px solid var(--erpds-focus, var(--erpds-accent, #1871a5)) !important;
  outline-offset: 2px !important;
}
#aside_left .journal-search-row > button[type="submit"] svg {
  width: 14px !important;
  height: 14px !important;
  stroke: currentColor !important;
}

/* Квадратная кнопка «+» рядом с поиском */
#aside_left .journal-quick-create--sq {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: color-mix(in srgb, var(--erpds-accent, #1871a5) 12%, var(--erpds-surface, #fff)) !important;
  border: 1px solid color-mix(in srgb, var(--erpds-accent, #1871a5) 28%, var(--erpds-border, #DDE1E8)) !important;
  color: var(--erpds-accent-text, #1871a5) !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s, color .15s, box-shadow .15s, transform .12s ease !important;
}
#aside_left .journal-quick-create--sq:hover {
  background: var(--erpds-accent, #1871a5) !important;
  border-color: var(--erpds-accent, #1871a5) !important;
  color: #fff !important;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--erpds-accent, #1871a5) 20%, transparent) !important;
}
#aside_left .journal-quick-create--sq:active {
  transform: translateY(1px);
}
#aside_left .journal-quick-create--sq:focus-visible {
  outline: 2px solid var(--erpds-focus, var(--erpds-accent, #1871a5)) !important;
  outline-offset: 2px !important;
}
#aside_left .journal-quick-create--sq .us-icon {
  width: 14px !important;
  height: 14px !important;
}

/* Бейдж «сегодня» */
#aside_left .journal-today-chip {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  color: var(--erpds-ok-text, #15803D) !important;
  background: var(--erpds-ok-soft, #DCFCE7) !important;
  border: 1px solid color-mix(in srgb, var(--erpds-ok, #22C55E) 28%, var(--erpds-border, #BBF7D0)) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
#aside_left .journal-today-chip::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: var(--erpds-ok, #22C55E);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--erpds-ok, #22C55E) 22%, transparent);
}
#aside_left .journal-today-chip:hover {
  background: color-mix(in srgb, var(--erpds-ok, #22C55E) 20%, var(--erpds-surface, #fff)) !important;
  border-color: color-mix(in srgb, var(--erpds-ok, #22C55E) 40%, var(--erpds-border, #86EFAC)) !important;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--erpds-ok, #22C55E) 20%, transparent) !important;
}
#aside_left .journal-today-chip:focus-visible {
  outline: 2px solid var(--erpds-ok, #16A34A) !important;
  outline-offset: 2px !important;
}

/* Group link — font-size и паддинг */
#aside_left aside .journal-group-link,
#aside_left .journal-group-link {
  font-size: 12px !important;
  padding: 5px 8px !important;
  border-radius: 6px !important;
}
#aside_left .journal-group-name {
  font-size: 12px !important;
}
/* Убрать декоративный дефис (8×1px полоса из style.css + aside-redesign строка 172) */
#aside_left .journal-group-link::before,
#aside_left .journal-add-btn::before,
#nav_ul_li_task_id a::before {
  display: none !important;
}

/* Group hover — token */
#aside_left .journal-group-item:hover {
  background: var(--erpds-bg-2) !important;
  border-radius: 6px !important;
}
#aside_left aside .journal-group-item.is-open > .journal-group-link {
  background: var(--erpds-accent-soft) !important;
  border-radius: 6px !important;
}
#aside_left aside .journal-group-item.is-open > .journal-group-link .journal-group-name {
  color: var(--erpds-accent-text) !important;
}

/* Refine C: заголовок ветки «Просмотр» — демаркация create↔browse (как paneTitle в превью) */
#aside_left .journal-pane-title {
  list-style: none;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--erpds-text-muted);
  padding: 8px 12px 2px;
  margin: 0;
}

/* Refine C: компактная версия hero CTA для текущего типа журнала */
#aside_left .journal-listhdr {
  list-style: none;
  margin: 6px 8px;
  padding: 0;
}
#aside_left .journal-listhdr__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid var(--erpds-ok, #2E8540);
  border-radius: 6px;
  background: transparent;
  color: var(--erpds-ok, #2E8540) !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s;
  overflow: hidden;
  white-space: nowrap;
}
#aside_left .journal-listhdr__cta span {
  min-width: 0;
  color: inherit !important;
  font: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#aside_left .journal-listhdr__cta:hover,
#aside_left .journal-listhdr__cta:focus-visible {
  background: var(--erpds-ok, #2E8540);
  color: var(--erpds-text-on-accent, #fff) !important;
  text-decoration: none !important;
}
#aside_left .journal-listhdr__cta:focus-visible {
  outline: 2px solid var(--erpds-ok, #2E8540);
  outline-offset: 2px;
}

/* Refine C: disclosure-chevron слева внутри строки группы, поворот на раскрытии */
#aside_left .journal-group-toggle {
  padding-left: 8px !important;
}
#aside_left .journal-group-chevron {
  flex: 0 0 14px;
  width: 14px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: var(--erpds-text-muted);
  transition: transform .18s ease;
}
#aside_left .journal-group-chevron .fa {
  display: block;
}
#aside_left .journal-group-item.is-open > .journal-group-toggle .journal-group-chevron {
  transform: rotate(90deg);
  color: var(--erpds-accent-text);
}

/* Soft navigation feedback: task-list content обновляется, сайдбар остаётся на месте. */
#aside_left.journal-nav-loading #nav_ul_li_task_id {
  position: relative;
  cursor: progress;
}

#aside_left.journal-nav-loading #nav_ul_li_task_id::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  right: 10px;
  height: 2px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(90deg, transparent, var(--erpds-accent, #3B5BDB), transparent);
  background-size: 180% 100%;
  animation: journal-nav-progress 900ms ease-in-out infinite;
}

@keyframes journal-nav-progress {
  from { background-position: 180% 0; }
  to { background-position: -180% 0; }
}

@media (prefers-reduced-motion: reduce) {
  #aside_left.journal-nav-loading #nav_ul_li_task_id::before {
    animation: none;
    background: var(--erpds-accent, #3B5BDB);
  }
}

/* Count pills — soft backgrounds (CountPill из прототипа) */
#aside_left .journal-group-count.count-low {
  background: var(--erpds-muted-soft, rgba(82,90,102,.14)) !important;
  color: var(--erpds-text-muted) !important;
}
#aside_left .journal-group-count.count-med {
  background: var(--erpds-warn-soft, rgba(224,122,31,.14)) !important;
  color: var(--erpds-warn, #E07A1F) !important;
}
#aside_left .journal-group-count.count-high {
  background: var(--erpds-bad-soft) !important;
  color: var(--erpds-bad-text) !important;
}

#aside_left .journal-group-count-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
  margin-right: 6px;
  border-radius: 999px;
  border: 1px solid rgba(82, 90, 102, .38);
  padding: 1px !important;
  text-decoration: none !important;
}

#aside_left #nav_ul_li_task_id > li.journal-group-item > .journal-group-count-link {
  border: 1px solid rgba(82, 90, 102, .38) !important;
  padding: 1px !important;
  min-height: 24px !important;
  height: 24px !important;
  min-width: 30px;
  line-height: 1 !important;
  box-sizing: border-box;
}

#aside_left #nav_ul_li_task_id > li.journal-group-item > .journal-group-count-link .journal-group-count {
  margin: 0 !important;
}

#aside_left .journal-group-count-link:hover .journal-group-count,
#aside_left .journal-group-count-link:focus-visible .journal-group-count {
  box-shadow: 0 0 0 2px rgba(59, 91, 219, .14);
  filter: brightness(.97);
}

/* Footer links — отделение от дерева; layout задан в chip-блоке выше */
#aside_left .journal-footer-links {
  border-top: 1px solid var(--erpds-border) !important;
  margin-top: 4px !important;
}

/* Разделители внутри journal-секции сайдбара — скрыть (не в прототипе) */
#aside_left .journal-section-divider {
  display: none !important;
}

/* ── Level-2 sub-items (AJAX flyout — контейнер перемещается в BODY при открытии) ── */

/* Контейнер sub-item: убрать инлайн padding-left из PHP */
div[id^="ajax_left_typer_group_"] .journal-group-item {
  padding-left: 0 !important;
  margin: 1px 0 !important;
}

/* Иконки fa-bars / fa-info — скрыть */
div[id^="ajax_left_typer_group_"] .journal-group-item i.us-icon {
  display: none !important;
}

/* Кнопка + (добавить задачу) — скрыть */
div[id^="ajax_left_typer_group_"] .journal-add-btn {
  display: none !important;
}

/* Ссылка sub-item */
div[id^="ajax_left_typer_group_"] .journal-group-link {
  display: flex !important;
  align-items: flex-start !important;
  padding: 4px 6px 4px 12px !important;
  font-size: 13px !important;
  color: var(--erpds-text-muted, #6b7685) !important;
  border-radius: 5px !important;
  gap: 0 !important;
  line-height: 1.35 !important;
}

/* Дефис перед названием */
div[id^="ajax_left_typer_group_"] .journal-group-link::before {
  content: "—" !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 10px !important;
  color: var(--erpds-border-dark, #bcc3cc) !important;
  margin-right: 5px !important;
  flex-shrink: 0 !important;
  line-height: 1.5 !important;
  padding-top: 1px !important;
}

/* Название — полное, перенос при необходимости */
div[id^="ajax_left_typer_group_"] .journal-group-name {
  flex: 1 !important;
  min-width: 0 !important;
  white-space: normal !important;
  word-break: break-word !important;
  font-size: 13px !important;
  color: inherit !important;
  line-height: 1.35 !important;
}

/* Счётчик — прижать вправо, выровнять по верху */
div[id^="ajax_left_typer_group_"] .journal-group-count {
  margin-left: 4px !important;
  flex-shrink: 0 !important;
  font-size: 10px !important;
  margin-top: 2px !important;
}

/* Hover */
div[id^="ajax_left_typer_group_"] .journal-group-item:hover .journal-group-link {
  background: var(--erpds-bg-2, rgba(0,0,0,.04)) !important;
  color: var(--erpds-text, #2c3440) !important;
}

/* === V-009: Keyboard a11y — focus-visible на интерактивных элементах aside ===
   Aside-redesign содержит 20+ :hover правил, но 0 :focus-visible — keyboard nav
   не имеет визуальной обратной связи. Добавляем общий ring через accent token.
   Только :focus-visible (не :focus) — не мешает mouse-кликам.
   Аддитивно: outline-only, не меняет layout. */
#aside_left a:focus-visible,
#aside_left button:focus-visible,
#aside_left [role="button"]:focus-visible,
#aside_left .journal-quick-link:focus-visible,
#aside_left .journal-footer-link:focus-visible,
#aside_left .journal-badge:focus-visible,
div[id^="ajax_left_typer_group_"] .journal-group-link:focus-visible {
  outline: 2px solid var(--erpds-accent, #2563eb) !important;
  outline-offset: 2px !important;
  border-radius: 6px !important;
}

/* === V-004 (aside): Touch hit-area 44px на pointer:coarse ===
   Aside на mobile drawer — палец 10mm требует 44×44 min target.
   Desktop (pointer: fine) сохраняет компактные 28-30px высоты — экономия места.
   Только аддитивно, scoped к coarse-указателю. */
@media (pointer: coarse) {
  #aside_left nav ul li > a.i0,
  #aside_left nav ul li > button.i0,
  #aside_left nav ul li > a:not(.i0) {
    min-height: 44px !important;
    height: auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  #aside_left nav ul li:not(.journal-group-item) ul li a {
    min-height: 40px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  div[id^="ajax_left_typer_group_"] .journal-group-link {
    min-height: 40px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* ============================================================
   Sidebar polish after moving brand into topbar.
   Desktop-only: освобождаем верх, уплотняем меню, делаем active state
   читаемым через реальный legacy-класс a.span_bold.
   ============================================================ */
@media (min-width: 901px) {
  #aside_left nav > ul {
    padding: 4px 3px 8px !important;
  }

  #aside_left nav > ul > li:first-child {
    margin-top: 0 !important;
  }

  #aside_left nav ul li > a.i0,
  #aside_left nav ul li > button.i0,
  #aside_left nav ul li > a:not(.i0) {
    min-height: 32px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    border: 1px solid transparent !important;
  }

  #aside_left nav ul li > a.i0:hover,
  #aside_left nav ul li > button.i0:hover,
  #aside_left nav ul li > a:not(.i0):hover {
    border-color: var(--erpds-border, #dde1e8) !important;
    background: var(--erpds-bg-2, #f5f7fb) !important;
  }

  #aside_left nav ul li > a.i0.span_bold,
  #aside_left nav ul li > button.i0.span_bold,
  #aside_left nav ul li > a:not(.i0).span_bold,
  #aside_left nav ul li.active > a.i0,
  #aside_left nav ul li.active > button.i0,
  #aside_left nav ul li.active > a:not(.i0) {
    position: relative;
    background: linear-gradient(
      90deg,
      color-mix(in srgb, var(--erpds-accent, #1871a5) 13%, transparent),
      color-mix(in srgb, var(--erpds-accent, #1871a5) 6%, transparent)
    ) !important;
    border-color: color-mix(in srgb, var(--erpds-accent, #1871a5) 18%, transparent) !important;
    color: var(--erpds-accent-text, #1d4ed8) !important;
    font-weight: 700 !important;
    box-shadow: inset 3px 0 0 var(--erpds-accent, #2563b8);
  }

  #aside_left nav ul li > a.i0.span_bold .us-icon-lmenu,
  #aside_left nav ul li > button.i0.span_bold .us-icon-lmenu,
  #aside_left nav ul li.active > a.i0 .us-icon-lmenu,
  #aside_left nav ul li.active > button.i0 .us-icon-lmenu {
    color: var(--erpds-accent-text, #1d4ed8) !important;
  }

  #aside_left nav ul li > a:not(.i0).span_bold .us-icon-lmenu,
  #aside_left nav ul li.active > a:not(.i0) .us-icon-lmenu {
    background-color: var(--erpds-accent-text, #1d4ed8) !important;
  }

  #aside_left nav ul li.menu-separator {
    margin-top: 6px !important;
    padding-top: 6px !important;
    border-top: 1px solid var(--erpds-border, #dde1e8) !important;
  }

  #aside_left nav ul li.menu-separator:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  #aside_left nav ul li:not(.journal-group-item) ul {
    padding: 1px 2px 5px 12px !important;
  }

  #aside_left nav ul li:not(.journal-group-item) ul li a {
    min-height: 26px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  #aside_left nav ul li:not(.journal-group-item) ul li a.span_bold,
  #aside_left nav ul li:not(.journal-group-item) ul li.active a {
    background: color-mix(in srgb, var(--erpds-accent, #1871a5) 8%, transparent) !important;
    color: var(--erpds-accent-text, #1d4ed8) !important;
  }

  #aside_left .journal-header-table tr {
    height: 34px !important;
    margin-left: 3px !important;
    margin-right: 3px !important;
    width: calc(100% - 6px) !important;
  }

  #aside_left .journal-title-cell a.i0 {
    min-height: 32px !important;
    padding-left: 8px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}

@media (min-width: 901px) and (pointer: coarse) {
  #aside_collapse_btn {
    display: flex !important;
    width: 34px !important;
    height: 30px !important;
    min-width: 34px !important;
    min-height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--erpds-text-secondary, #6b7280) !important;
    box-shadow: none !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition:
      background-color 0.12s ease,
      border-color 0.12s ease,
      color 0.12s ease,
      box-shadow 0.12s ease;
  }

  #aside_collapse_btn i.fa {
    transform: none;
  }

  #aside_collapse_btn:hover,
  #aside_collapse_btn:focus-visible {
    background: var(--erpds-bg-2, #f5f7fb) !important;
    border-color: var(--erpds-border, #dde1e8) !important;
    color: var(--erpds-text, #111827) !important;
  }

  #aside_collapse_btn:active {
    background: color-mix(in srgb, var(--erpds-accent, #1871a5) 10%, transparent) !important;
    color: var(--erpds-accent-text, #1d4ed8) !important;
  }
}

/* Desktop rail polish: same alignment model as tablet, but denser for mouse/trackpad. */
@media (min-width: 901px) and (pointer: fine) {
  #aside_collapse_btn {
    display: flex !important;
    width: 32px !important;
    height: 30px !important;
    min-width: 32px !important;
    min-height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--erpds-text-secondary, #6b7280) !important;
    box-shadow: none !important;
    transition:
      background-color 0.12s ease,
      border-color 0.12s ease,
      color 0.12s ease;
  }

  #aside_collapse_btn:hover,
  #aside_collapse_btn:focus-visible {
    background: var(--erpds-bg-2, #f5f7fb) !important;
    border-color: var(--erpds-border, #dde1e8) !important;
    color: var(--erpds-text, #111827) !important;
  }

  body.aside-collapsed #aside_left {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
  }

  body.aside-collapsed #aside_left nav,
  body.aside-collapsed #aside_left nav > ul,
  body.aside-collapsed #aside_left nav > ul > li,
  body.aside-collapsed #aside_left nav > ul > li > a,
  body.aside-collapsed #aside_left nav > ul > li > button,
  body.aside-collapsed #aside_left nav > ul > li .journal-header-table,
  body.aside-collapsed #aside_left nav > ul > li .journal-header-table td.journal-title-cell,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 {
    width: 64px !important;
    max-width: 64px !important;
  }

  body.aside-collapsed #aside_collapse_btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 4px auto 6px !important;
    border-radius: 9px !important;
    background: var(--erpds-surface, #fff) !important;
    border-color: var(--erpds-border, #dde1e8) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  }

  body.aside-collapsed #aside_left .wn-menu-filter {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 64px !important;
    max-width: 64px !important;
    min-height: 42px;
    padding: 2px 0 4px !important;
    border-bottom: 1px solid var(--erpds-border, #dde1e8);
    box-sizing: border-box;
  }

  body.aside-collapsed #aside_left .wn-menu-filter::before {
    left: 50%;
    top: 50%;
    z-index: 1;
    font-size: 14px;
    transform: translate(-50%, -50%);
  }

  body.aside-collapsed #aside_left .wn-menu-filter input {
    width: 44px !important;
    height: 34px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    color: transparent !important;
    caret-color: transparent !important;
    text-indent: -999px;
    cursor: pointer;
  }

  body.aside-collapsed #aside_left .wn-menu-filter input::placeholder {
    color: transparent !important;
  }

  body.aside-collapsed #aside_left .wn-menu-filter-clear {
    display: none !important;
  }

  body.aside-collapsed #aside_left nav > ul {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.aside-collapsed #aside_left nav > ul > li > a,
  body.aside-collapsed #aside_left nav > ul > li > button.i0,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: 44px !important;
    max-width: 44px !important;
    min-height: 36px !important;
    margin: 2px auto !important;
    padding: 0 !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  body.aside-collapsed #aside_left nav > ul > li > a .us-icon-lmenu,
  body.aside-collapsed #aside_left nav > ul > li > button.i0 .us-icon-lmenu,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 .us-icon-lmenu {
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    font-size: 17px !important;
  }

  body.aside-collapsed #aside_left nav ul li > ul {
    left: 64px !important;
  }

  body.aside-collapsed #aside_left nav > ul > li.active > a,
  body.aside-collapsed #aside_left nav > ul > li.active > a.i0,
  body.aside-collapsed #aside_left nav > ul > li.active td a.i0 {
    box-shadow: inset 3px 0 0 var(--erpds-accent, #2563b8) !important;
  }
}

/* Tablet rail polish: keep desktop compact, but make the icon rail finger-safe. */
@media (min-width: 901px) and (pointer: coarse) {
  body.aside-collapsed #aside_left {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
  }

  body.aside-collapsed #aside_left nav,
  body.aside-collapsed #aside_left nav > ul,
  body.aside-collapsed #aside_left nav > ul > li,
  body.aside-collapsed #aside_left nav > ul > li > a,
  body.aside-collapsed #aside_left nav > ul > li > button,
  body.aside-collapsed #aside_left nav > ul > li .journal-header-table,
  body.aside-collapsed #aside_left nav > ul > li .journal-header-table td.journal-title-cell,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 {
    width: 72px !important;
    max-width: 72px !important;
  }

  body.aside-collapsed #aside_collapse_btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 4px auto 6px !important;
    border-radius: 10px !important;
    background: var(--erpds-surface, #fff) !important;
    border-color: var(--erpds-border, #dde1e8) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
  }

  body.aside-collapsed #aside_collapse_btn i.fa {
    transform: none;
  }

  body.aside-collapsed #aside_left .wn-menu-filter {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 72px !important;
    max-width: 72px !important;
    min-height: 50px;
    padding: 3px 0 5px !important;
    border-bottom: 1px solid var(--erpds-border, #dde1e8);
    box-sizing: border-box;
  }

  body.aside-collapsed #aside_left .wn-menu-filter::before {
    left: 50%;
    top: 50%;
    z-index: 1;
    font-size: 15px;
    transform: translate(-50%, -50%);
  }

  body.aside-collapsed #aside_left .wn-menu-filter input {
    width: 54px !important;
    height: 44px !important;
    min-width: 54px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    color: transparent !important;
    caret-color: transparent !important;
    text-indent: -999px;
    cursor: pointer;
  }

  body.aside-collapsed #aside_left .wn-menu-filter input::placeholder {
    color: transparent !important;
  }

  body.aside-collapsed #aside_left .wn-menu-filter-clear {
    display: none !important;
  }

  body.aside-collapsed #aside_collapse_btn:hover,
  body.aside-collapsed #aside_collapse_btn:focus-visible {
    background: var(--erpds-bg-2, #f5f7fb) !important;
  }

  body.aside-collapsed #aside_left nav > ul > li > a,
  body.aside-collapsed #aside_left nav > ul > li > button.i0,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: 54px !important;
    max-width: 54px !important;
    min-height: 44px !important;
    margin: 2px auto !important;
    padding: 0 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  body.aside-collapsed #aside_left nav > ul > li > a .us-icon-lmenu,
  body.aside-collapsed #aside_left nav > ul > li > button.i0 .us-icon-lmenu,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 .us-icon-lmenu {
    margin: 0 !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 19px !important;
  }

  body.aside-collapsed #aside_left nav ul li > ul {
    left: 72px !important;
  }

  body.aside-collapsed #aside_left nav > ul {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.aside-collapsed #aside_left nav > ul > li.active > a,
  body.aside-collapsed #aside_left nav > ul > li.active > a.i0,
  body.aside-collapsed #aside_left nav > ul > li.active td a.i0 {
    box-shadow: inset 3px 0 0 var(--erpds-accent, #2563b8) !important;
  }
}

@media (min-width: 901px) {
  body.aside-collapsed #aside_left nav > ul,
  body.aside-collapsed #aside_left nav > ul > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.aside-collapsed #aside_left nav > ul > li {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
  }

  body.aside-collapsed #aside_left nav > ul > li > a,
  body.aside-collapsed #aside_left nav > ul > li > button.i0,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 {
    flex: 0 0 auto !important;
    float: none !important;
    overflow: hidden !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
  }

  body.aside-collapsed #aside_left nav > ul > li > a > font,
  body.aside-collapsed #aside_left nav > ul > li > a > span,
  body.aside-collapsed #aside_left nav > ul > li > button.i0 > font,
  body.aside-collapsed #aside_left nav > ul > li > button.i0 > span,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 > font,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 > span {
    display: none !important;
  }

  body.aside-collapsed #aside_left nav > ul > li > a .us-icon-lmenu,
  body.aside-collapsed #aside_left nav > ul > li > button.i0 .us-icon-lmenu,
  body.aside-collapsed #aside_left nav > ul > li td a.i0 .us-icon-lmenu {
    display: block !important;
    flex: 0 0 auto !important;
    float: none !important;
    line-height: 1 !important;
  }

  body.aside-collapsed #aside_left nav > ul > li .journal-header-table,
  body.aside-collapsed #aside_left nav > ul > li .journal-header-table tbody,
  body.aside-collapsed #aside_left nav > ul > li .journal-header-table tr {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    background: transparent !important;
  }

  body.aside-collapsed #aside_left nav > ul > li .journal-header-table td:not(.journal-title-cell) {
    display: none !important;
  }

  body.aside-collapsed #aside_left nav > ul > li .journal-header-table td.journal-title-cell {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 0 !important;
  }

  body.aside-collapsed #aside_left nav > ul > li .journal-title-cell a.i0 {
    gap: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
  }

  body.aside-collapsed #aside_left nav > ul > li .journal-title-cell a.i0 .us-icon-lmenu {
    flex: 0 0 auto !important;
  }

  body.aside-collapsed #aside_left nav ul li > ul .aside-rail-popout-title {
    display: block !important;
    padding: 8px 14px 7px !important;
    margin: -2px 0 4px !important;
    border-bottom: 1px solid var(--erpds-border, #dde1e8) !important;
    color: var(--erpds-text-muted, #64748b) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    pointer-events: none !important;
  }

  body:not(.aside-collapsed) #aside_left nav ul li > ul .aside-rail-popout-title {
    display: none !important;
  }

  body.aside-collapsed #aside_left #nav_ul_li_task_id > li:not(.journal-group-item) > div:first-child a > span:not(.link_leftmenu_j_count),
  body.aside-collapsed #aside_left #nav_ul_li_task_id > li:not(.journal-group-item) > div > div:first-child a > span:not(.link_leftmenu_j_count) {
    display: none !important;
  }

  body.aside-collapsed #aside_left #nav_ul_li_task_id > li:not(.journal-group-item) > div[style*="order: 2"]:has(span:not(.link_leftmenu_j_count)),
  body.aside-collapsed #aside_left .journal-group-item div[id^="ajax_left_typer_group_"] li > div[style*="order: 2"]:has(span:not(.link_leftmenu_j_count)) {
    display: none !important;
  }
}
