/* XLX Modern — refinamentos isolados das páginas autorizadas */

.universal-nav a{
  font-size:clamp(.90rem,.86rem + .12vw,1rem)!important;
  line-height:1.25!important;
}

.access-strip span{
  font-size:clamp(.78rem,.74rem + .10vw,.90rem)!important;
  line-height:1.4!important;
}

.page-heading>p,
.section-title p,
.widget-heading p{
  line-height:1.45!important;
}

main table th{
  font-size:clamp(.70rem,.67rem + .08vw,.78rem)!important;
  line-height:1.3!important;
}

main table td{
  font-size:clamp(.78rem,.74rem + .10vw,.88rem)!important;
  line-height:1.4!important;
}

/* Rodapé refinado e menu em uma linha. */
footer{
  grid-template-columns:auto minmax(0,1fr)!important;
  column-gap:48px!important;
  gap:22px 40px!important;
  align-items:center!important;
  padding:34px 0 18px!important;
  margin-top:26px!important;
  border-top:1px solid rgba(70,154,190,.22)!important;
}

footer>div:first-child{
  display:flex!important;
  align-items:flex-start!important;
  min-width:0!important;
}

footer .footer-brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  text-decoration:none!important;
}

footer .footer-brand .brand-logo{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:50%!important;
  box-shadow:0 0 0 1px rgba(40,184,255,.22),0 8px 22px rgba(0,0,0,.28)!important;
}

footer .footer-brand b{
  font-size:1.05rem!important;
  font-weight:900!important;
  color:#f4fbff!important;
}

footer .footer-links{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:clamp(18px,2vw,32px)!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}

footer .footer-links a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:5px 0!important;
  color:#dbeaf3!important;
  font-size:.90rem!important;
  font-weight:700!important;
  text-decoration:none!important;
}

footer .footer-links a:hover,
footer .footer-links a:focus-visible{
  color:#1edbff!important;
}

footer .footer-final-line{
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  width:100%!important;
  gap:.38rem!important;
  margin:2px 0 0!important;
  padding-top:18px!important;
  border-top:1px solid rgba(70,154,190,.14)!important;
  color:#8faab9!important;
  text-align:center!important;
  font-size:clamp(.78rem,.75rem + .08vw,.86rem)!important;
  line-height:1.5!important;
}

footer .footer-final-line strong{
  color:#dcebf3!important;
  font-weight:800!important;
}

footer .footer-final-line .footer-separator{
  color:#3fcce9!important;
  opacity:.75!important;
}

footer .footer-final-line a{
  color:#78dff5!important;
  font-weight:750!important;
  text-decoration:none!important;
}

/* Modules A–E: elimina rolagem horizontal no desktop. */
.module-reference .table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}

.module-reference .module-access-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:auto!important;
}

.module-reference .module-access-table th,
.module-reference .module-access-table td{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  vertical-align:middle!important;
  padding-left:5px!important;
  padding-right:5px!important;
}

.module-reference .module-access-table td:nth-child(n+4),
.module-reference .module-access-table th:nth-child(n+4){
  font-size:.80rem!important;
}

@media(max-width:1100px){
  .module-reference .module-access-table th{
    font-size:.70rem!important;
    padding:7px 4px!important;
    line-height:1.25!important;
  }

  .module-reference .module-access-table td{
    font-size:.76rem!important;
    padding:8px 4px!important;
    line-height:1.3!important;
  }
}

/* No celular a tabela vira cartões, sem remover dados. */
@media(max-width:720px){
  footer{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:28px 0 16px!important;
  }

  footer .footer-links{
    justify-content:flex-start!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 0 6px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  footer .footer-links::-webkit-scrollbar{
    display:none;
  }

  footer .footer-links a{
    font-size:.84rem!important;
  }

  .module-reference,
  .module-reference .table-wrap{
    width:100%!important;
    max-width:100%!important;
  }

  .module-reference .table-wrap{
    overflow:visible!important;
  }

  .module-reference .module-access-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  .module-reference .module-access-table thead{
    display:none!important;
  }

  .module-reference .module-access-table tbody{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }

  .module-reference .module-access-table tbody tr{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    padding:10px!important;
    border:1px solid #1a4357!important;
    border-radius:13px!important;
    background:linear-gradient(145deg,rgba(14,35,48,.98),rgba(6,20,29,.98))!important;
  }

  .module-reference .module-access-table tbody td{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-width:0!important;
    gap:10px!important;
    padding:9px 8px!important;
    border-bottom:1px solid rgba(39,83,106,.35)!important;
    font-size:.82rem!important;
    text-align:right!important;
  }

  .module-reference .module-access-table tbody td:nth-child(1){
    grid-column:1/-1!important;
    justify-content:flex-start!important;
    font-size:1.05rem!important;
    font-weight:900!important;
    color:#fff!important;
    border-bottom:1px solid rgba(0,216,255,.28)!important;
  }

  .module-reference .module-access-table tbody td::before{
    flex:0 0 auto;
    color:#00d8ff;
    font-size:.68rem;
    font-weight:850;
    letter-spacing:.04em;
    text-align:left;
  }

  .module-reference .module-access-table tbody td:nth-child(1)::before{content:"MÓDULO"}
  .module-reference .module-access-table tbody td:nth-child(2)::before{content:"FUNÇÃO"}
  .module-reference .module-access-table tbody td:nth-child(3)::before{content:"CONECTADOS"}
  .module-reference .module-access-table tbody td:nth-child(4)::before{content:"REF URCALL"}
  .module-reference .module-access-table tbody td:nth-child(5)::before{content:"REF DTMF"}
  .module-reference .module-access-table tbody td:nth-child(6)::before{content:"XRF URCALL"}
  .module-reference .module-access-table tbody td:nth-child(7)::before{content:"XRF DTMF"}
  .module-reference .module-access-table tbody td:nth-child(8)::before{content:"DCS URCALL"}
  .module-reference .module-access-table tbody td:nth-child(9)::before{content:"DCS DTMF"}
  .module-reference .module-access-table tbody td:nth-child(10)::before{content:"DMR"}
  .module-reference .module-access-table tbody td:nth-child(11)::before{content:"YSF DG-ID"}
}

@media(max-width:450px){
  .module-reference .module-access-table tbody tr{
    grid-template-columns:1fr!important;
  }

  .module-reference .module-access-table tbody td,
  .module-reference .module-access-table tbody td:nth-child(1){
    grid-column:1!important;
  }
}
