/* ============================================================================
   Hub Insight — Sidebar (Layer: components)
   ----------------------------------------------------------------------------
   Centraliza dimensões da sidebar via tokens. Vence regras correspondentes
   do legado (em @layer legacy) automaticamente — sem !important.

   ESCOPO desta fase
   -----------------
   • Largura desktop: clamp fluido (substitui 244px hardcoded)
   • Largura colapsada: token (mantém 80px, alinhado ao preload anti-FOUC)
   • Offset de .app-content: tokens (substitui calc(244px + 2rem) hardcoded)
   • Drawer mobile: comportamento preservado (existe em legacy ≤1024px), apenas
     usa tokens para consistência

   NÃO MEXIDO nesta fase
   ---------------------
   • Animações de morph (transition delays, glow line) — funcionam, ficam
   • Posicionamento glass (top/left, blur, border-radius) — design fica
   • Estados hover/active/colapsado:hover — comportamento preservado
   ============================================================================ */

/* --- Largura expandida (desktop fluido) --- */
.app-menu {
    width: var(--ds-sidebar-w-expanded);
    min-width: var(--ds-sidebar-w-expanded);
}

/* --- Largura colapsada --- */
.app-menu.collapsed {
    width: var(--ds-sidebar-w-collapsed);
    min-width: var(--ds-sidebar-w-collapsed);
}

/* --- Offset do conteúdo principal: sidebar-width + offset (gap viewport) + offset (gap content) --- */
.app-content {
    margin-left: calc(var(--ds-sidebar-w-expanded) + var(--ds-sidebar-offset) * 2);
}

body.menu-collapsed .app-content {
    margin-left: calc(var(--ds-sidebar-w-collapsed) + var(--ds-sidebar-offset) * 2);
}

/* --- Drawer mobile: ≤1024px sidebar fica fora da viewport até .menu-open ---
   O legado já implementa isso com !important. Como !important em legacy vence
   normal em components, não tentamos sobrescrever as regras de drawer aqui;
   apenas garantimos que os tokens estejam disponíveis se forem necessários
   em uma futura limpeza. */
