/* css/modulo_sistema.css */

/* base (leve) */
html, body{
  margin:0;
  padding:0;
  width:100%;
  max-width:100vw;
  overflow-x:hidden;
  box-sizing:border-box;
}

body{
  font-family:'Segoe UI', Arial, sans-serif;
  background:#f4faff;
  color:#1A237E;
  padding:0 0 60px 0; /* rodape.php pode sobrescrever */
  max-width:100vw;
}

/* header */
.bb-header{
  background: linear-gradient(90deg, #13347B 80%, #2685BE 100%);
  color:#fff;
  text-align:center;
  padding:28px 4vw 18px 4vw;
  border-radius:0 0 18px 18px;
  margin-bottom:15px;
  box-shadow:0 1px 10px 0 #0002;
}

.bb-header-icon{
  font-size:2.2rem;
  margin-bottom:2px;
  margin-right:8px;
  display:inline-block;
}

.bb-header h1{
  margin:0 0 7px 0;
  font-size:2.1rem;
  font-weight:700;
  display:block;
  word-break:break-word;
  line-height:1.16;
}

.bb-header-sub{
  color:#BFE8FF;
  margin:5px auto 0 auto;
  max-width:97vw;
  font-size:1.09rem;
  line-height:1.3;
  word-break:break-word;
}

/* layout */
.bb-main{
  max-width:950px;
  margin:0 auto;
  background:#fff;
  border-radius:12px;
  padding:24px 2vw 24px 2vw;
  box-shadow:0 1px 12px 0 #0001;
  word-break:break-word;
  width:98vw;
  box-sizing:border-box;
}

.bb-lead{ line-height:1.55; }

.bb-section{
  background:#e3f2fd;
  padding:20px 2vw 16px 2vw;
  border-radius:6px;
  margin-bottom:30px;
  box-shadow:0 1px 3px #0001;
  overflow-x:auto;
  max-width:100%;
  box-sizing:border-box;
}

.bb-section h2{
  color:#0D47A1;
  margin-top:0;
  font-size:1.19rem;
}

.bb-section h3{
  color:#0D47A1;
  margin:14px 0 6px 0;
  font-size:1.06rem;
}

.bb-section p{ line-height:1.55; }

code{
  background:#cfd8dc;
  color:#0D47A1;
  padding:2px 6px;
  border-radius:4px;
  font-size:1em;
}

pre{
  background:#263238;
  color:#ECEFF1;
  padding:12px 12px;
  border-radius:6px;
  overflow-x:auto;
  font-size:0.97em;
  word-break:break-word;
  box-sizing:border-box;
  max-width:100%;
  margin:12px 0 0 0;
}

ul, ol{
  margin-left:18px;
  padding-left:14px;
}

li{ margin:6px 0; }

.bb-badge{
  display:inline-block;
  padding:2px 10px;
  border-radius:999px;
  background:#13347B;
  color:#fff;
  font-size:.85em;
  margin:0 8px 6px 0;
}

/* toc */
.bb-toc{
  background:#eaf4ff;
  border:1px solid #d6e8ff;
  padding:14px 2vw;
  border-radius:10px;
  margin:14px 0 22px 0;
}

.bb-toc strong{
  display:block;
  margin-bottom:8px;
  color:#0D47A1;
}

.bb-toc a{
  color:#1b4fb9;
  font-weight:600;
  text-decoration:none;
}

.bb-toc a:hover{ text-decoration:underline; }

/* callouts */
.bb-callout{
  background:#e8f5e9;
  border:1px solid #c8e6c9;
  color:#1b5e20;
  padding:12px 14px;
  border-radius:10px;
  margin-top:14px;
}

.bb-ok{
  background:#e3f2fd;
  border:1px solid #bbdefb;
  color:#0D47A1;
  padding:12px 14px;
  border-radius:10px;
  margin-top:14px;
}

/* responsivo */
@media (max-width:700px){
  .bb-header{
    padding:15px 1vw 11px 1vw;
    border-radius:0 0 11px 11px;
  }

  .bb-header h1{ font-size:1.13rem; }

  .bb-main{
    padding:8px 3vw 12vw 3vw;
    width:100vw;
    border-radius:0;
  }

  .bb-section{
    padding:10px 3vw 8px 3vw;
    font-size:0.98em;
  }

  .bb-header-sub{ font-size:0.99rem; }
}

@media (max-width:430px){
  .bb-header h1{ font-size:1.01rem; }
  .bb-main{ padding:6px 3vw 18vw 3vw; }
  .bb-header-icon{ font-size:1.45rem; }
}
