/* CFDSS V30.20 — padronização definitiva dos menus laterais
   Uma única família tipográfica e o mesmo tamanho legível em desktop, tablet e celular. */
:root{
  --cfdss-sidebar-font:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --cfdss-sidebar-size:16px;
  --cfdss-sidebar-weight:700;
  --cfdss-sidebar-line:1.35;
  --cfdss-sidebar-icon:21px;
  --cfdss-sidebar-item-height:50px;
}

/* Base comum: sistema administrativo e Portal do Membro */
body.admin-app-page .sidebar,
body.admin-app-page .sidebar *,
body.member-app-page .mp-sidebar,
body.member-app-page .mp-sidebar *{
  font-family:var(--cfdss-sidebar-font)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.admin-app-page .sidebar-nav-organized,
body.member-app-page .mp-nav-organized{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}

body.admin-app-page .sidebar-nav-organized a,
body.member-app-page .mp-nav-organized a,
body.member-dashboard-page .mp-nav-organized a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  min-height:var(--cfdss-sidebar-item-height)!important;
  padding:12px 14px!important;
  border-radius:10px!important;
  font-size:var(--cfdss-sidebar-size)!important;
  font-weight:var(--cfdss-sidebar-weight)!important;
  line-height:var(--cfdss-sidebar-line)!important;
  letter-spacing:0!important;
  white-space:normal!important;
}

body.admin-app-page .sidebar-nav-organized .nav-label,
body.member-app-page .mp-nav-organized a b,
body.member-dashboard-page .mp-nav-organized a b{
  display:block!important;
  font-size:var(--cfdss-sidebar-size)!important;
  font-weight:var(--cfdss-sidebar-weight)!important;
  line-height:var(--cfdss-sidebar-line)!important;
  letter-spacing:0!important;
}

body.admin-app-page .sidebar-nav-organized .nav-icon,
body.member-app-page .mp-nav-organized a span,
body.member-dashboard-page .mp-nav-organized a span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  min-width:22px!important;
  font-size:var(--cfdss-sidebar-icon)!important;
  line-height:1!important;
  text-align:center!important;
}

body.admin-app-page .nav-section-title{
  padding:13px 12px 6px!important;
  font-family:var(--cfdss-sidebar-font)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:.08em!important;
}

body.admin-app-page .sidebar-help strong,
body.admin-app-page .sidebar-help a,
body.admin-app-page .logout,
body.member-app-page .mp-sidebar-help strong,
body.member-app-page .mp-sidebar-help a,
body.member-app-page .mp-sidebar form button{
  font-family:var(--cfdss-sidebar-font)!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

/* Evita que regras antigas da Dashboard reduzam novamente os textos. */
body.admin-dashboard-page .sidebar nav.sidebar-nav-organized a,
body.admin-dashboard-page .sidebar nav.sidebar-nav-organized a .nav-label,
body.member-dashboard-page .mp-nav-organized a,
body.member-dashboard-page .mp-nav-organized a b{
  font-size:var(--cfdss-sidebar-size)!important;
  font-weight:var(--cfdss-sidebar-weight)!important;
}
body.admin-dashboard-page .sidebar nav.sidebar-nav-organized a,
body.member-dashboard-page .mp-nav-organized a{
  min-height:var(--cfdss-sidebar-item-height)!important;
  padding:12px 14px!important;
  gap:11px!important;
}
body.admin-dashboard-page .sidebar nav.sidebar-nav-organized a .nav-icon,
body.member-dashboard-page .mp-nav-organized a span{
  width:22px!important;
  min-width:22px!important;
  font-size:var(--cfdss-sidebar-icon)!important;
}

/* Tablet e celular: menu lateral completo em formato recolhível, sem esconder os nomes. */
@media(max-width:980px){
  body.admin-app-page .sidebar,
  body.member-app-page .mp-sidebar{
    width:min(300px,88vw)!important;
    padding:70px 18px 20px!important;
    overflow-y:auto!important;
  }

  body.admin-app-page .sidebar .institution-brand,
  body.member-app-page .mp-sidebar .mp-brand{
    justify-content:flex-start!important;
  }

  body.admin-app-page .sidebar .institution-brand div,
  body.admin-app-page .sidebar .tenant,
  body.member-app-page .mp-sidebar .mp-brand div{
    display:grid!important;
  }

  body.admin-app-page .sidebar-nav-organized a,
  body.admin-app-page .sidebar-nav-organized .nav-label,
  body.member-app-page .mp-nav-organized a,
  body.member-app-page .mp-nav-organized a b,
  body.member-dashboard-page .mp-nav-organized a,
  body.member-dashboard-page .mp-nav-organized a b{
    font-size:var(--cfdss-sidebar-size)!important;
  }

  body.member-app-page .mp-sidebar nav a{
    text-align:left!important;
  }
  body.member-app-page .mp-sidebar nav a:before{
    content:none!important;
    display:none!important;
  }

  body.admin-app-page .content,
  body.member-app-page .mp-content{
    margin-left:0!important;
  }
}

@media(max-width:560px){
  body.admin-app-page .sidebar,
  body.member-app-page .mp-sidebar{
    width:min(292px,90vw)!important;
    padding-left:15px!important;
    padding-right:15px!important;
  }

  body.admin-app-page .sidebar-nav-organized a,
  body.member-app-page .mp-nav-organized a,
  body.member-dashboard-page .mp-nav-organized a{
    min-height:50px!important;
    padding:12px!important;
  }
}
