body{
  margin:0;
  font-family:'Montserrat', Arial, sans-serif;
  background:#F8FAFC;
  color:#02104F;
}

header{
  background:#02104F;
  color:#fff;
  padding:22px 0 14px 0;
  text-align:center;
  border-bottom:4px solid #65BEDD;
}
header img{
  height:70px;
  margin-bottom:8px;
}
header h1{
  margin:0;
  font-size:1.25rem;
  font-weight:700;
  letter-spacing:1px;
}
header p{
  margin:8px 0 0 0;
  font-size:1.03rem;
  font-weight:500;
  letter-spacing:1px;
  opacity:.95;
}

.main-layout{
  display:flex;
  margin:0 auto;
  max-width:1440px;
  min-height:800px;
}

.sidebar-menu{
  background:#5DA3BD;
  color:#fff;
  min-width:260px;
  font-size:1.11rem;
  height:100vh;
  padding-top:22px;
  position:sticky;
  top:0;
  box-shadow:2px 0 12px #02104F11;
  overflow:auto;
}
.sidebar-menu ul{
  list-style:none;
  padding:0 0 0 20px;
  margin:0;
}
.sidebar-menu ul li{
  margin:10px 0;
  position:relative;
}

.sidebar-menu > ul > li > a{
  font-weight:700;
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 12px 7px 0;
  text-decoration:none;
  transition:color .18s;
  cursor:pointer;
}
.sidebar-menu ul li a:hover,
.sidebar-menu ul li a.active{
  color:#02104F;
}

.sidebar-menu ul ul{
  display:none;
  margin-top:3px;
  padding-left:0;
}
.sidebar-menu ul li.open > ul{
  display:block;
}

.sidebar-menu ul ul li a{
  font-weight:400;
  color:#f4faff;
  font-size:0.97em;
  padding:5px 0 5px 24px;
  border-left:2px solid #65BEDD;
  transition:color .18s, border-color .18s;
  display:flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
}
.sidebar-menu ul ul li a:hover{
  color:#65BEDD;
  border-color:#02104F;
}

.sidebar-menu ul ul ul{
  padding-left:0;
}
.sidebar-menu ul ul ul li a{
  font-size:0.92em;
  padding-left:40px;
  border-left:2px dashed rgba(191,232,255,.75);
  color:#eaf7ff;
}
.sidebar-menu ul ul ul li a:hover{
  color:#d9f2ff;
  border-color:#d9f2ff;
}


.sidebar-menu .arrow{
  font-size:0.7em;
  margin-left:7px;
  transition:transform 0.2s;
}
.sidebar-menu li.open > a .arrow{
  transform:rotate(90deg);
}

.sidebar-menu i.lucide{
  width:1.15em;
  height:1.15em;
  color:#fff;
  vertical-align:middle;
}
.sidebar-menu ul ul li a i.lucide{
  color:#BFE8FF;
}

main{
  flex:1;
  padding:42px 48px;
  background:#F8FAFC;
}

section{
  margin-bottom:52px;
}
section h2{
  color:#02104F;
  border-left:5px solid #65BEDD;
  padding-left:12px;
  margin-bottom:24px;
  font-family:'Poppins', Arial, sans-serif;
  font-size:1.6rem;
}

.inserir-print{
  background:#E8F6FC;
  border:2px dashed #65BEDD;
  color:#3889a3;
  padding:16px;
  border-radius:10px;
  margin:20px 0;
  text-align:center;
  font-weight:600;
  font-size:1rem;
  font-family:'Montserrat', Arial, sans-serif;
}

pre.code, code{
  background:#F1F7FA;
  color:#02104F;
  border-radius:6px;
  padding:14px;
  font-size:1.07rem;
  overflow-x:auto;
  margin-top:12px;
  margin-bottom:18px;
  box-shadow:0 1px 5px #02104F0a;
  font-family:'Fira Mono','Consolas', monospace;
}

@media (max-width:950px){
  .main-layout{ flex-direction:column; }
  .sidebar-menu{
    min-width:100%;
    height:auto;
    position:relative;
    padding-top:8px;
    box-shadow:none;
  }
  main{ padding:24px 8vw; }
}
@media (max-width:700px){
  header img{ height:40px; }
  header h1{ font-size:1.02rem; }
  header p{ font-size:.95rem; }
  .sidebar-menu{ font-size:1rem; }
  main{ padding:12px 2vw; }
}

/* =========================================================
   RODAPÉ — FIXO E CENTRAL (GLOBAL)
   (corrigido sem alterar o restante do layout)
   ========================================================= */

/* 1) Reserva espaço pra não cobrir conteúdo */
body{
  padding-bottom: 110px !important; /* ajuste se o rodapé for maior/menor */
}

/* 2) Evita a sidebar ficar escondida atrás do rodapé */
.sidebar-menu{
  padding-bottom: 110px !important;
}

/* 3) Rodapé fixo (serve para <footer class="bb-footer"> e variações) */
footer,
footer.bb-footer,
.bb-footer,
#rodape,
.rodape,
.footer,
#footer{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;

  display: block !important;
  box-sizing: border-box !important;
  text-align: center !important;
  margin: 0 !important;

  z-index: 99999 !important;

  background: #F3F9FE;
  border-top: 1px solid #e1e8f4;
  padding: 16px;
}

/* 4) Links centralizados */
footer a,
.bb-footer a,
#rodape a,
.rodape a,
.footer a,
#footer a{
  display: inline-block;
}


/* ===== Busca rápida na home ===== */
.sidebar-search-cta a{
  background:#ffffff;
  color:#02104F !important;
  border-radius:14px;
  padding:11px 14px !important;
  margin-right:14px;
  box-shadow:0 12px 24px rgba(2,16,79,.14);
}
.sidebar-search-cta a i.lucide{
  color:#02104F !important;
}
.sidebar-search-cta a:hover{
  color:#0b5fa5 !important;
}

.search-launcher{
  margin-bottom:34px;
  padding:28px;
  border-radius:24px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 28%),
    linear-gradient(135deg, #0d2f73 0%, #215fba 100%);
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0, 1.6fr) minmax(260px, .8fr);
  gap:24px;
  box-shadow:0 24px 44px rgba(2,16,79,.18);
  position:relative;
  overflow:hidden;
}
.search-launcher::after{
  content:'';
  position:absolute;
  right:-56px;
  bottom:-56px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
}
.search-launcher > *{
  position:relative;
  z-index:1;
}
.search-launcher h2{
  margin:12px 0 10px;
  color:#fff;
  border:0;
  padding:0;
  font-size:1.95rem;
  line-height:1.12;
}
.search-launcher p{
  margin:0;
  color:#e7f4ff;
  line-height:1.62;
  max-width:760px;
}
.search-launcher-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font-weight:700;
  font-size:.92rem;
}
.search-launcher-form{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:20px 0 14px;
}
.search-launcher-field{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border-radius:18px;
  padding:0 18px;
  min-height:60px;
  box-shadow:0 16px 28px rgba(2,16,79,.16);
  border:1px solid rgba(255,255,255,.14);
}
.search-launcher-field i.lucide{
  color:#2685BE;
  width:20px;
  height:20px;
  flex-shrink:0;
}
.search-launcher-field input{
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  color:#02104F;
  font-size:1rem;
  padding:18px 0;
}
.search-launcher-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.search-launcher-form button,
.search-launcher-secondary{
  min-height:52px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  font-weight:700;
}
.search-launcher-form button{
  border:0;
  background:#65BEDD;
  color:#02104F;
  padding:0 22px;
  cursor:pointer;
  box-shadow:0 16px 28px rgba(0,0,0,.14);
}
.search-launcher-form button:hover{
  background:#8ad4ef;
}
.search-launcher-secondary{
  padding:0 18px;
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
}
.search-launcher-secondary:hover{
  background:rgba(255,255,255,.18);
}
.search-launcher-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.search-launcher-links a{
  display:inline-flex;
  align-items:center;
  background:rgba(255,255,255,.12);
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.14);
  text-decoration:none;
}
.search-launcher-links a:hover{
  background:rgba(255,255,255,.2);
}
.search-launcher-visual{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
  text-align:left;
  backdrop-filter: blur(6px);
}
.search-launcher-icon{
  width:64px;
  height:64px;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.search-launcher-icon i.lucide{
  width:30px;
  height:30px;
}
.search-launcher-visual strong{
  font-size:1.28rem;
}
.search-launcher-visual span{
  color:#e7f4ff;
  line-height:1.6;
}
.search-launcher-visual code{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.search-launcher-mini{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:4px;
}
.search-launcher-mini div{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:12px;
}
.search-launcher-mini b{
  display:block;
  font-size:.95rem;
}
.search-launcher-mini small{
  display:block;
  margin-top:4px;
  color:#d8eeff;
  font-size:.82rem;
}

@media (max-width: 980px){
  .search-launcher{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .search-launcher{
    padding:20px;
    border-radius:18px;
  }
  .search-launcher h2{
    font-size:1.58rem;
  }
  .search-launcher-actions{
    flex-direction:column;
  }
  .search-launcher-form button,
  .search-launcher-secondary{
    width:100%;
  }
  .sidebar-search-cta a{
    margin-right:10px;
  }
  .search-launcher-mini{
    grid-template-columns:1fr;
  }
}


.search-launcher-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.search-launcher-links a i.lucide{
  width:16px;
  height:16px;
}
.search-launcher-mini{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.search-launcher-mini > div{
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:12px 14px;
}
.search-launcher-mini > div i.lucide{
  width:18px;
  height:18px;
  flex-shrink:0;
  color:#bfe9ff;
}
.search-launcher-mini > div span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.search-launcher-mini > div small{
  color:#d9efff;
  font-size:.8rem;
}
