/* =========================================================
   AUTOPOSTE — CONSOLIDAÇÃO FINAL DE LAYOUT
   Carregado depois de todos os estilos antigos.
========================================================= */

:root {
  --autoposte-sidebar-width: 205px;
}

/* Estrutura geral */
html,
body {
  min-height: 100%;
}

body:not(.auth-page):not(.legal-page) {
  min-height: 100vh;
  overflow-x: hidden;
}

/* Sidebar limitada somente à lateral */
.sidebar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;

  width: var(--autoposte-sidebar-width) !important;
  min-width: var(--autoposte-sidebar-width) !important;
  max-width: var(--autoposte-sidebar-width) !important;
  height: 100vh !important;

  display: flex !important;
  flex-direction: column !important;

  padding: 24px 16px !important;
  box-sizing: border-box !important;

  overflow: hidden !important;
  z-index: 1000 !important;
}

/* Parte rolável da sidebar */
.sidebar-main {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Card inferior limitado à largura da sidebar */
.sidebar-footer {
  position: relative !important;
  inset: auto !important;

  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  margin-top: auto !important;
  padding: 0 !important;

  overflow: visible !important;
  box-sizing: border-box !important;
  z-index: 20 !important;
}

.sidebar-footer,
.sidebar-footer * {
  box-sizing: border-box !important;
}

.sidebar-footer > * {
  width: 100% !important;
  max-width: 100% !important;
}

/* O conteúdo nunca pode ficar escondido pela sidebar */
.content {
  display: block !important;
  position: relative !important;

  margin-left: var(--autoposte-sidebar-width) !important;
  width: calc(100% - var(--autoposte-sidebar-width)) !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 100vh !important;

  padding: 36px 34px !important;
  box-sizing: border-box !important;

  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  transform: none !important;
  filter: none !important;
  clip: auto !important;
  clip-path: none !important;

  z-index: 1 !important;
}

/* Garante que os blocos internos continuem visíveis */
.content > * {
  visibility: visible !important;
}

/* Menu inferior: fechado não ocupa nem bloqueia a tela */
.sidebar-user-menu {
  max-width: min(320px, calc(100vw - 32px)) !important;
}

.sidebar-user-menu:not(.show) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.sidebar-user-menu.show {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Evita que cards de plano cresçam sobre o aplicativo */
.m4-smart-banner,
.m4-plan-card,
[data-plan-card],
.sidebar-plan-card {
  position: relative !important;
  inset: auto !important;

  width: auto !important;
  max-width: 100% !important;
  height: auto !important;

  z-index: auto !important;
  box-sizing: border-box !important;
}

/* Overlays fechados não podem bloquear cliques */
.rc42-modal-overlay:not(.show),
.rc5-modal-overlay:not(.show),
.autoposte-modal-overlay:not(.show) {
  display: none !important;
  pointer-events: none !important;
}

/* Mobile */
@media (max-width: 900px) {
  .sidebar {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
  }

  .content {
    margin-left: 0 !important;
    width: 100% !important;
    padding: 20px !important;
  }
}

/* =========================================================
   CORREÇÃO DO MENU INFERIOR
   Permite que o menu flutuante saia dos limites da sidebar.
========================================================= */

.sidebar {
  overflow: visible !important;
}

.sidebar-main {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

.sidebar-footer {
  position: relative !important;
  overflow: visible !important;
  z-index: 1200 !important;
}

.sidebar-user-menu-wrap {
  position: relative !important;
  overflow: visible !important;
  width: 100% !important;
  z-index: 1300 !important;
}

.sidebar-user-menu {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  bottom: calc(100% + 10px) !important;
  top: auto !important;

  width: 290px !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100vh - 110px) !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;

  z-index: 9999 !important;
}
