/* TecSkill shell: sidebar unica + header limpo. Tudo escopado em html.ts-tecskill. */

/* A sidebar nova so existe com o tema TecSkill */
.ts-app-sidebar,
.ts-sidebar-backdrop { display: none; }

html.ts-tecskill {
  --ts-shell-offset: calc(var(--sidebar-width) + 2 * var(--sidebar-inset));
}
html.ts-tecskill.ts-sidebar-collapsed {
  --ts-shell-offset: calc(var(--sidebar-collapsed-width) + 2 * var(--sidebar-inset));
}

/* Oculta o menu original (permanece no DOM) */
html.ts-tecskill .master-menu-content,
html.ts-tecskill #navbar-builder-top-menu-collapse,
html.ts-tecskill #navbar-builder-top-submenu-collapse,
html.ts-tecskill .toggle-top-menu,
html.ts-tecskill .container-header .company-logo { display: none !important; }

/* ---------- Sidebar ---------- */
html.ts-tecskill .ts-app-sidebar {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: var(--sidebar-inset);
  left: var(--sidebar-inset);
  width: var(--sidebar-width);
  height: calc(100vh - 2 * var(--sidebar-inset));
  box-sizing: border-box;
  padding: 0 12px 10px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--sidebar-hairline);
  box-shadow: var(--shadow-shell);
  background:
    radial-gradient(18rem 10rem at 50% 0%, rgba(var(--accent-rgb), 0.28), transparent 70%),
    linear-gradient(180deg, var(--sidebar-top) 0%, var(--sidebar-mid) 52%, var(--sidebar-bottom) 100%);
  color: var(--sidebar-ink);
  z-index: var(--z-sidebar);
  transition: width .2s ease, transform .22s ease;
}
html.ts-tecskill .ts-app-sidebar .ts-sidebar__logo { position: relative; flex: 0 0 auto; }
html.ts-tecskill .ts-collapse-btn {
  position: absolute; top: 8px; right: 12px;
  width: 24px; height: 24px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--sidebar-ink); background: transparent; border: 0; border-radius: var(--radius-md); cursor: pointer;
}
html.ts-tecskill .ts-collapse-btn:hover { color: var(--sidebar-ink-active); background: var(--sidebar-hairline); }

/* Busca */
html.ts-tecskill .ts-menu-search {
  flex: 0 0 auto; display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 0 10px;
  height: 32px; border-radius: var(--radius-md);
  background: var(--sidebar-hairline); border: 1px solid var(--sidebar-hairline); color: var(--sidebar-ink);
}
html.ts-tecskill .ts-menu-search i { font-size: 12px; }
html.ts-tecskill .ts-menu-search input {
  flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; box-shadow: none;
  color: var(--sidebar-ink-active); font: 500 12.5px/18px var(--font-sans); padding: 0; height: auto;
}
html.ts-tecskill .ts-menu-search input::placeholder { color: var(--sidebar-ink); }

/* Navegacao com rolagem fina */
html.ts-tecskill .ts-app-sidebar__scroll {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden;
  margin: 0 -6px; padding: 0 6px;
  scrollbar-width: thin; scrollbar-color: var(--sidebar-hairline) transparent;
}
html.ts-tecskill .ts-app-sidebar__scroll::-webkit-scrollbar { width: 4px; }
html.ts-tecskill .ts-app-sidebar__scroll::-webkit-scrollbar-thumb { background: var(--sidebar-hairline); border-radius: 4px; }

html.ts-tecskill .ts-nav { margin: 0; padding: 0; }
html.ts-tecskill .ts-nav li { list-style: none; }
html.ts-tecskill .ts-nav i { width: 14px; text-align: center; font-size: 13px; flex: 0 0 auto; }
html.ts-tecskill .ts-nav a > i,
html.ts-tecskill .ts-nav button > i:first-child { color: inherit; }
html.ts-tecskill .ts-nav .ts-label,
html.ts-tecskill .ts-nav button > span,
html.ts-tecskill .ts-nav a > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* .ts-label tambem e classe de formulario no components.css: neutraliza aqui */
html.ts-tecskill .ts-nav .ts-label { color: inherit; font-size: inherit; font-weight: inherit; text-transform: none; letter-spacing: normal; margin: 0; }
html.ts-tecskill .ts-nav .ts-grouptoggle { font-size: 13px; font-weight: 600; color: var(--sidebar-ink); }
html.ts-tecskill .ts-nav .ts-grouptoggle:hover,
html.ts-tecskill .ts-nav .is-open > .ts-grouptoggle { color: var(--sidebar-ink-active); }
html.ts-tecskill .ts-nav a { color: var(--sidebar-ink); }
html.ts-tecskill .ts-nav a.is-active { color: var(--sidebar-ink-active); }
html.ts-tecskill .ts-nav .ts-chev { width: auto; font-size: 10px; transition: transform .18s ease; }
html.ts-tecskill .ts-nav .is-open > button > .ts-chev { transform: rotate(180deg); }
html.ts-tecskill .ts-nav .ts-indicator { transition: top .22s ease, height .22s ease, left .22s ease, width .22s ease, opacity .15s; opacity: 0; }

/* Grupos e subgrupos: fechados por padrao */
html.ts-tecskill .ts-nav .ts-sub { display: none; }
html.ts-tecskill .ts-nav .is-open > .ts-sub { display: flex; }
html.ts-tecskill .ts-nav .ts-subgroup { display: flex; flex-direction: column; gap: 2px; }
html.ts-tecskill .ts-nav .ts-sub .ts-sub { padding-left: 12px; }
html.ts-tecskill .ts-nav .ts-sub a,
html.ts-tecskill .ts-nav .ts-subtoggle { font-size: 12px; }
html.ts-tecskill .ts-nav__caps { padding: 2px 9px 6px; color: var(--sidebar-ink); }

/* Busca: oculta o que nao casa */
html.ts-tecskill .ts-nav .is-miss { display: none; }

/* Rodape */
html.ts-tecskill .ts-app-sidebar__user {
  flex: 0 0 auto; display: flex; align-items: center; gap: 10px;
  margin: 8px -12px 0; padding: 10px 14px 0; border-top: 1px solid var(--sidebar-hairline);
}
html.ts-tecskill .ts-app-sidebar__avatar {
  width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%;
  background-size: cover; background-position: center; border: 1px solid var(--sidebar-indicator-line);
}
html.ts-tecskill .ts-app-sidebar__info { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
html.ts-tecskill .ts-app-sidebar__info b { font-size: 12px; font-weight: 600; color: var(--sidebar-ink-active); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ts-tecskill .ts-app-sidebar__info small { font-size: 10.5px; color: var(--sidebar-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Layout: header e conteudo a direita da sidebar ---------- */
@media (min-width: 992px) {
  html.ts-tecskill .container-header { margin: var(--sidebar-inset) var(--sidebar-inset) var(--sidebar-inset) var(--ts-shell-offset); transition: margin-left .2s ease; }
  html.ts-tecskill .container-main { margin-left: var(--ts-shell-offset); width: calc(100% - var(--ts-shell-offset)); min-width: 0; transition: margin-left .2s ease, width .2s ease; }
  html.ts-tecskill .master-container,
  html.ts-tecskill .container-live { min-width: 0; max-width: 100%; }
}

/* Contexto no header */
html.ts-tecskill .header-track .ts-header__unit {
  display: flex; flex-direction: column; line-height: 1.1; margin-right: auto; padding: 0 16px;
}

/* ---------- Recolhida: so icones; hover expande em overlay ---------- */
@media (min-width: 992px) {
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar { width: var(--sidebar-collapsed-width); }
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:hover,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar.is-peek { width: var(--sidebar-width); }

  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-sidebar__product,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-menu-search input,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-label,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-chev,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-collapse-btn,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-nav__caps,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-app-sidebar__info,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-sub { display: none !important; }

  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-indicator { display: none; }
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-grouptoggle { justify-content: center; }
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-grouptoggle.is-current,
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar:not(:hover):not(.is-peek) .ts-group.is-open > .ts-grouptoggle {
    background: var(--sidebar-indicator); box-shadow: inset 0 0 0 1px var(--sidebar-indicator-line); color: var(--sidebar-ink-active);
  }
  html.ts-tecskill.ts-sidebar-collapsed .ts-menu-search { justify-content: center; padding: 0; }
  html.ts-tecskill.ts-sidebar-collapsed .ts-app-sidebar__user { justify-content: center; }
}

/* ---------- Mobile: drawer off-canvas ---------- */
@media (max-width: 991.98px) {
  html.ts-tecskill .ts-collapse-btn { display: none; }
  html.ts-tecskill .ts-app-sidebar {
    top: 0; left: 0; height: 100vh; border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
    transform: translateX(-105%); z-index: calc(var(--z-sidebar) + 2);
  }
  html.ts-tecskill.ts-drawer-open .ts-app-sidebar { transform: none; }
  html.ts-tecskill .ts-sidebar-backdrop {
    display: block; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.45);
    opacity: 0; pointer-events: none; transition: opacity .2s; z-index: calc(var(--z-sidebar) + 1);
  }
  html.ts-tecskill.ts-drawer-open .ts-sidebar-backdrop { opacity: 1; pointer-events: auto; }
  html.ts-tecskill .header-track .ts-header__unit { padding: 0 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html.ts-tecskill .ts-app-sidebar,
  html.ts-tecskill .container-header,
  html.ts-tecskill .container-main,
  html.ts-tecskill .ts-nav .ts-indicator,
  html.ts-tecskill .ts-nav .ts-chev,
  html.ts-tecskill .ts-sidebar-backdrop { transition: none !important; }
}
