/* LikeSoft - menu lateral (TUniTreeMenu / Ext treelist) v1
   Só aparência. A cor de fundo continua vindo de EMPRESA.COR_01 (AplicaCoresEmpresa);
   os destaques usam branco translúcido, então funcionam com qualquer cor da empresa.
   --lsm-accent recebe EMPRESA.COR_02 pelo Main.pas. */
.lsmenu {
  --lsm-ink: rgba(255, 255, 255, .94);
  --lsm-ink-2: rgba(255, 255, 255, .78);
  --lsm-ink-3: rgba(255, 255, 255, .55);
  --lsm-hover: rgba(255, 255, 255, .10);
  --lsm-open: rgba(255, 255, 255, .07);
  --lsm-sel: rgba(255, 255, 255, .18);
  --lsm-sub: rgba(0, 0, 0, .16);
  --lsm-line: rgba(255, 255, 255, .18);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.lsmenu .x-treelist-root-container { padding: 4px 8px 18px !important; }

/* linhas */
.lsmenu .x-treelist-item > .x-treelist-row {
  background: transparent !important;
  border-radius: 9px;
  margin: 1px 0;
  transition: background-color .15s ease;
  cursor: pointer;
}
.lsmenu .x-treelist-row-over,
.lsmenu .x-treelist-item > .x-treelist-row:hover { background: var(--lsm-hover) !important; }
.lsmenu .x-treelist-item-expanded > .x-treelist-row { background: var(--lsm-open) !important; }
.lsmenu .x-treelist-item-selected > .x-treelist-row {
  background: var(--lsm-sel) !important;
  box-shadow: inset 3px 0 0 var(--lsm-accent, #ffffff);
}

/* grupos (1o nivel) */
.lsmenu .x-treelist-item-text {
  color: var(--lsm-ink) !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .04em;
  line-height: 40px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lsmenu .x-treelist-item-icon,
.lsmenu .x-treelist-item-expander { line-height: 40px !important; }
.lsmenu .x-treelist-item-icon,
.lsmenu .x-treelist-item-icon:before { color: var(--lsm-ink-2) !important; font-size: 15px !important; }
.lsmenu .x-treelist-item-expander,
.lsmenu .x-treelist-item-expander:after,
.lsmenu .x-treelist-item-expander:before { color: var(--lsm-ink-3) !important; font-size: 12px !important; }
.lsmenu .x-treelist-item-selected > .x-treelist-row .x-treelist-item-icon,
.lsmenu .x-treelist-item-selected > .x-treelist-row .x-treelist-item-icon:before { color: #ffffff !important; }

/* itens dentro do grupo */
.lsmenu .x-treelist-item-expanded > .x-treelist-container {
  background: var(--lsm-sub);
  border-radius: 0 0 9px 9px;
  margin: -2px 0 6px;
  padding: 4px 0 6px;
  position: relative;
}
.lsmenu .x-treelist-container .x-treelist-item-text {
  color: var(--lsm-ink-2) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 34px !important;
}
.lsmenu .x-treelist-container .x-treelist-item-icon,
.lsmenu .x-treelist-container .x-treelist-item-expander { line-height: 34px !important; }
.lsmenu .x-treelist-container .x-treelist-item-icon,
.lsmenu .x-treelist-container .x-treelist-item-icon:before { font-size: 6px !important; color: var(--lsm-ink-3) !important; }
.lsmenu .x-treelist-container .x-treelist-row-over .x-treelist-item-text,
.lsmenu .x-treelist-container .x-treelist-item > .x-treelist-row:hover .x-treelist-item-text,
.lsmenu .x-treelist-container .x-treelist-item-selected > .x-treelist-row .x-treelist-item-text { color: #ffffff !important; }
.lsmenu .x-treelist-container .x-treelist-item-selected > .x-treelist-row .x-treelist-item-icon:before { color: var(--lsm-accent, #ffffff) !important; }
/* subgrupo (2o nivel com filhos, ex.: FINANCEIRO > RECEBER) */
.lsmenu .x-treelist-container .x-treelist-item-expandable > .x-treelist-row .x-treelist-item-text {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .05em;
  color: var(--lsm-ink-3) !important;
}
.lsmenu .x-treelist-container .x-treelist-item-expandable > .x-treelist-row .x-treelist-item-icon:before { font-size: 12px !important; }
.lsmenu .x-treelist-container .x-treelist-container { background: transparent; }

/* foco pelo teclado */
.lsmenu .x-treelist-row:focus-visible,
.lsmenu .x-treelist-item:focus-visible > .x-treelist-row { outline: 2px solid rgba(255, 255, 255, .7); outline-offset: -2px; }

/* barra de rolagem discreta */
.lsmenu ::-webkit-scrollbar { width: 6px; }
.lsmenu ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .25); border-radius: 6px; }
.lsmenu ::-webkit-scrollbar-track { background: transparent; }
.lsmenu { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .25) transparent; }

@media (prefers-reduced-motion: reduce) {
  .lsmenu .x-treelist-item > .x-treelist-row { transition: none; }
}

/* selo NOVO (lsmenu.js) */
.lsmenu .lsm-novo {
  display: inline-block;
  margin-left: 8px;
  padding: 0 6px;
  border-radius: 6px;
  background: #3ddc84;
  color: #04361c;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 16px;
  vertical-align: 1px;
  text-transform: uppercase;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
}
.lsmenu .x-treelist-container .lsm-novo { vertical-align: 0; }
.lsmenu .lsm-novo.lsm-atu { background: #9ee6ff; color: #003a4d; }
