/* ============================================================
   MOC ON-LINE - Folha de estilo
   Padrão visual alinhado ao XSLT da Consulta NF-e ABI
   Cores institucionais brasileiras em tons suaves
   ------------------------------------------------------------
   IMPORTANTE: todas as classes originais do MOC foram mantidas.
   Nenhuma alteração de conteúdo foi necessária.
   ============================================================ */

:root {
  --azul: #17497e;
  --azul-medio: #2f6fae;
  --azul-claro: #eaf2fa;
  --verde: #1c7c4a;
  --verde-medio: #3fa86b;
  --verde-claro: #eaf6ef;
  --amarelo: #f0c14b;
  --amarelo-claro: #fdf7e4;

  --fundo: #f5f9f7;
  --card: #ffffff;
  --texto: #22303c;
  --texto-suave: #64768a;
  --linha: #dde8e2;
  --linha-forte: #c6d8ce;

  --sombra: 0 14px 32px rgba(23, 73, 126, .10);
  --sombra-sm: 0 6px 16px rgba(23, 73, 126, .07);
  --sombra-nav: 0 4px 16px rgba(23, 73, 126, .18);

  --raio: 18px;
  --raio-sm: 12px;

  --fonte: "Inter", "Segoe UI", Roboto, Calibri, Arial, Helvetica, sans-serif;
  --fonte-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, Monaco, monospace;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--fonte);
  color: var(--texto);
  background:
    radial-gradient(circle at 92% 4%, rgba(240, 193, 75, .16), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, var(--fundo) 60%);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}

/* Conteúdo técnico do CT-e */
.pagina-documentacao {
  margin: 18px auto;
  padding: 18px 20px;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--linha);
  border-radius: var(--raio-sm);
  background: #fff;
  box-shadow: var(--sombra-sm);
}

.pagina-documentacao .pagina-ref {
  display: block;
  margin-bottom: 12px;
  color: var(--texto-suave);
  font-size: 12px;
  font-weight: 700;
  text-align: right;
}

.pagina-documentacao pre {
  margin: 0;
  min-width: 640px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--texto);
  font-family: var(--fonte);
  font-size: 13px;
  line-height: 1.55;
  text-align: left;
}

/* Transcrição estruturada da documentação oficial */
.conteudo-documentacao {
  color: var(--texto);
  font-family: var(--fonte);
  font-size: 15px;
  line-height: 1.62;
}

.conteudo-documentacao > :first-child {
  margin-top: 0;
}

.conteudo-documentacao > :last-child {
  margin-bottom: 0;
}

.conteudo-documentacao p {
  max-width: 1120px;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: justify;
  hyphens: auto;
}

.conteudo-documentacao .subsecao-documentacao {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}

.conteudo-documentacao h3.subsecao-documentacao {
  padding: 9px 12px;
  border-left: 4px solid var(--amarelo);
  border-radius: 0 10px 10px 0;
  background: linear-gradient(90deg, var(--amarelo-claro), transparent 76%);
  color: var(--azul);
}

.conteudo-documentacao h4.subsecao-documentacao {
  padding-bottom: 5px;
  border-bottom: 1px solid var(--linha);
  color: var(--verde);
}

.conteudo-documentacao .cabecalho-publicacao {
  max-width: 920px;
  margin: 4px auto !important;
  color: var(--azul);
  font-weight: 750;
  text-align: center;
}

.conteudo-documentacao .linha-informacao {
  padding: 9px 12px;
  border-left: 4px solid var(--verde-medio);
  border-radius: 0 9px 9px 0;
  background: var(--verde-claro);
  text-align: left;
}

.conteudo-documentacao .lista-documentacao {
  max-width: 1080px;
  margin: 8px auto 18px;
  padding-left: 30px;
  list-style: disc;
}

.sumario-publicacao {
  max-width: 1040px;
  margin: 14px auto 24px;
  border: 1px solid var(--linha);
  border-radius: 10px;
  background: #fbfdfc;
}

.sumario-publicacao summary {
  padding: 12px 15px;
  cursor: pointer;
  color: var(--azul);
  font-weight: 750;
}

.sumario-publicacao ul {
  margin: 0;
  padding: 0 34px 16px 44px;
}

.tabela-documentacao-wrapper {
  margin: 16px auto 26px;
}

#principal .tabela-documentacao {
  width: 100%;
  min-width: 720px;
  margin: 0 auto;
  table-layout: auto;
}

#principal .tabela-documentacao th,
#principal .tabela-documentacao td {
  min-width: 74px;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

#principal .tabela-documentacao th:last-child,
#principal .tabela-documentacao td:last-child {
  min-width: 240px;
}

.complemento-introducao {
  margin-top: 18px;
}

.documento-integral {
  margin: 14px 0 28px;
  border: 1px solid var(--linha-forte);
  border-radius: var(--raio-sm);
  background: var(--card);
  box-shadow: var(--sombra-sm);
}

.documento-integral > summary {
  padding: 15px 18px;
  cursor: pointer;
  color: var(--azul);
  font-weight: 800;
}

.documento-integral[open] > summary {
  border-bottom: 1px solid var(--linha);
  background: var(--azul-claro);
}

.documento-conteudo {
  padding: 4px 16px 16px;
}

.modelo-dacte {
  margin: 28px auto;
  text-align: center;
}

.modelo-dacte figcaption {
  margin-bottom: 12px;
  color: var(--azul);
  font-weight: 800;
}

.modelo-dacte img {
  width: min(100%, 880px);
  height: auto;
  border: 1px solid var(--linha);
  border-radius: var(--raio-sm);
  box-shadow: var(--sombra-sm);
}

.tabela-cte {
  min-width: 1280px;
  table-layout: fixed;
}

.tabela-cte th:nth-child(1),
.tabela-cte td:nth-child(1) { width: 4%; }
.tabela-cte th:nth-child(2),
.tabela-cte td:nth-child(2) { width: 10%; }
.tabela-cte th:nth-child(3),
.tabela-cte td:nth-child(3) { width: 5%; }
.tabela-cte th:nth-child(4),
.tabela-cte td:nth-child(4) { width: 23%; }
.tabela-cte th:nth-child(5),
.tabela-cte td:nth-child(5),
.tabela-cte th:nth-child(6),
.tabela-cte td:nth-child(6) { width: 5%; }
.tabela-cte th:nth-child(7),
.tabela-cte td:nth-child(7) { width: 7%; }
.tabela-cte th:nth-child(8),
.tabela-cte td:nth-child(8),
.tabela-cte th:nth-child(9),
.tabela-cte td:nth-child(9),
.tabela-cte th:nth-child(10),
.tabela-cte td:nth-child(10) { width: 8%; }
.tabela-cte th:nth-child(11),
.tabela-cte td:nth-child(11) { width: 25%; }

.tabela-cte th,
.tabela-cte td,
.regras_validacao_gerais th,
.regras_validacao_gerais td,
.tabela-resumo th,
.tabela-resumo td {
  text-align: center !important;
  vertical-align: middle !important;
}

@media (max-width: 700px) {
  .pagina-documentacao {
    padding: 14px;
  }

  .pagina-documentacao pre {
    min-width: 540px;
    font-size: 12px;
  }
}

/* ============================================================
   1. CABECALHO
   ============================================================ */

.cabecalho {
  padding: 0;
}

.topo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: auto;
  min-height: 96px;
  padding: 16px 26px;
  line-height: normal;
  overflow: hidden;
  z-index: 1;
  background: linear-gradient(120deg, #ffffff 0%, var(--azul-claro) 58%, var(--verde-claro) 100%);
  border-bottom: 1px solid var(--linha);
}

.topo:after {
  content: "";
  position: absolute;
  right: -140px;
  top: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240, 193, 75, .34) 0%, rgba(63, 168, 107, .16) 46%, transparent 70%);
  pointer-events: none;
}

.titulo {
  position: static;
  float: none;
  width: auto;
  height: auto;
  z-index: 1;
  line-height: 1.35;
  font-family: var(--fonte);
  font-weight: 700;
  color: var(--azul);
}

.titulo p {
  margin: 0 0 2px 0;
  line-height: 1.35;
}

.titulo p:first-child span span {
  font-size: 21px !important;
  letter-spacing: -.01em;
  color: var(--azul);
}

.titulo p:nth-child(2) {
  font-size: 15px;
  font-weight: 600;
  color: var(--verde);
}

.titulo p:nth-child(3) {
  font-size: 12px;
  font-weight: 600;
  color: var(--texto-suave);
  margin-top: 6px;
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .75);
  border: 1px solid var(--linha);
}

.imagens_cabecalho {
  position: static;
  width: auto;
  height: 56px;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  z-index: 1;
}

.imagens_cabecalho img {
  height: 100% !important;
  width: auto !important;
  float: none !important;
  display: block;
}

/* ============================================================
   2. BARRA DE NAVEGACAO
   ============================================================ */

.linha_superior {
  padding: 0;
  border-bottom: 0;
  font-family: var(--fonte);
  letter-spacing: normal;
}

.linha_superior a {
  text-decoration: none !important;
  border-bottom: none;
  transition: all .18s ease;
}

.linha_superior a:hover {
  border-bottom: none;
}

.sombra {
  box-shadow: var(--sombra-nav) !important;
}

.barra_nav {
  position: relative;
  z-index: 20;
  width: 100%;
  padding: 0;
  font-size: 14px;
  letter-spacing: .01em;
  background: linear-gradient(120deg, var(--azul) 0%, #1c5f95 52%, var(--verde) 100%);
  border-bottom: 3px solid var(--amarelo);
}

.barra_nav > div {
  overflow: visible !important;
}

.barra_nav a {
  text-decoration: none;
  color: #ffffff;
  font-weight: 600;
  padding: 15px 14px 14px 14px !important;
  border-bottom: none;
  display: inline-block;
  white-space: nowrap;
}

.barra_nav a:hover {
  height: inherit;
  background-color: rgba(255, 255, 255, .16);
  color: #ffffff;
}

.barra_nav a.active {
  height: inherit;
  background-color: rgba(255, 255, 255, .95);
  color: var(--azul);
}

.barra_nav a:focus-visible {
  outline: 2px solid var(--amarelo);
  outline-offset: -3px;
}

.barra_nav a.nav_portal {
  color: var(--azul);
  background: linear-gradient(135deg, #ffffff, #f2f8f5);
  font-weight: 800;
  margin: 7px 10px 7px 6px;
  padding: 7px 16px !important;
  border-radius: 999px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .16);
}

.barra_nav a.nav_portal:hover {
  background: #ffffff;
  color: var(--verde);
  transform: translateY(-1px);
}

#botao_menu {
  font-size: 17px;
}

/* --- Menus suspensos ---
   O <div> interno da barra tem overflow-x:auto (estilo inline do HTML
   original). Por isso o .dropdown NÃO pode ser posicionado: o menu
   precisa se ancorar na .barra_nav (position:relative) para escapar
   do recorte desse contêiner de rolagem. */

.dropdown {
  height: inherit;
  display: inline-block;
  position: static;
}

.dropdown-content {
  top: 100%;
  display: none;
  position: absolute;
  min-width: 330px;
  max-width: min(420px, 96vw);
  max-height: calc(100vh - 160px);
  overflow-y: auto;
  padding: 8px;
  background-color: #ffffff;
  border: 1px solid var(--linha);
  border-radius: 0 0 var(--raio-sm) var(--raio-sm);
  box-shadow: var(--sombra);
  z-index: 30;
}

.dropdown-content a {
  float: none;
  color: var(--texto) !important;
  padding: 9px 12px !important;
  margin: 1px 0;
  border-radius: 9px;
  text-decoration: none;
  display: block;
  text-align: left;
  font-size: 13.5px;
  font-weight: 500;
  white-space: normal;
}

.dropdown-content a:hover {
  background-color: var(--verde-claro);
  color: var(--verde) !important;
}

.dropdown-content a:focus-visible {
  outline: 2px solid var(--verde-medio);
  outline-offset: -2px;
}

/* Itens de segundo nível (Recepção de Eventos) */
.dropdown-content a.subitem {
  margin-left: 14px;
  padding-left: 14px !important;
  border-left: 2px solid var(--linha);
  font-size: 13px;
  color: var(--texto-suave) !important;
}

.dropdown-content a.subitem:hover {
  border-left-color: var(--verde-medio);
  color: var(--verde) !important;
}

/* Rótulo de grupo, sem destino próprio */
.dropdown-content a.grupo {
  font-weight: 700;
  color: var(--azul) !important;
  cursor: default;
  margin-top: 6px;
}

.dropdown-content a.grupo:hover {
  background-color: transparent;
  color: var(--azul) !important;
}

/* Abre por mouse, por teclado e por clique/toque */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content,
.dropdown.aberto .dropdown-content {
  display: block;
}

.dropdown.aberto > a {
  background-color: rgba(255, 255, 255, .16);
}

/* Seta indicando que o item abre um submenu */
.dropdown.tem_submenu > a:after {
  content: "";
  display: inline-block;
  margin-left: 7px;
  vertical-align: middle;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: .75;
}

.sticky {
  position: fixed;
  top: 0;
  width: 100%;
}

/* --- Colapso responsivo do menu (comportamento original) --- */

.show_leiaute,
.show_regras_validacao,
.show_contingencia,
.show_danfe,
.show_anexo {
  display: none;
}

.hide_leiaute,
.hide_danfe,
.hide_regras_validacao,
.hide_contingencia {
  display: block;
}

@media (max-width:610px) {
  .imagens_cabecalho {
    display: none;
  }

  .titulo {
    width: 100%;
    text-align: center;
  }
}

@media (max-width:626px) {
  .show_leiaute {
    display: block;
  }

  .hide_leiaute {
    display: none !important;
  }
}

@media (max-width:840px) {
  .show_regras_validacao {
    display: block;
  }

  .hide_regras_validacao {
    display: none !important;
  }
}

@media (max-width:941px) {
  .show_danfe {
    display: block;
  }

  .hide_danfe {
    display: none !important;
  }
}

@media (max-width:987px) {
  .show_contingencia {
    display: block;
  }

  .hide_contingencia {
    display: none !important;
  }

  .show_anexo {
    display: block !important;
  }
}

/* ============================================================
   3. MENU LATERAL (INDICE)
   ============================================================ */

#menu_esq {
  width: 320px;
  z-index: 9;
}

#menu_esq ul {
  padding-left: 10px;
}

#menu_esq h2 {
  font-size: 19px;
  padding-left: 16px;
  margin: -4px 0 4px 0;
}

#indice {
  position: fixed;
  top: 0;
  left: 0;
  padding-top: 112px;
  padding-bottom: 0;
  height: 100%;
  width: 320px;
  background-color: transparent;
}

#indice_texto {
  height: 100%;
  width: 100%;
  overflow-y: auto;
  padding: 18px 12px 90px 12px;
  background: linear-gradient(180deg, #ffffff 0%, var(--verde-claro) 100%);
  border-right: 1px solid var(--linha);
  font-family: var(--fonte);
  scrollbar-width: thin;
  scrollbar-color: var(--linha-forte) transparent;
}

#indice_texto::-webkit-scrollbar {
  width: 8px;
}

#indice_texto::-webkit-scrollbar-thumb {
  background: var(--linha-forte);
  border-radius: 8px;
}

/* O índice original usa <br> entre os itens; a lista agora usa espaçamento próprio */
#indice_texto > br,
#indice_texto a br {
  display: none;
}

#indice_texto h4 {
  font-size: 15px;
  font-weight: 800;
  color: var(--azul);
  margin: 0 0 4px 0;
  padding: 12px 10px;
  border-radius: var(--raio-sm);
  background: rgba(255, 255, 255, .85);
  border: 1px solid var(--linha);
  line-height: 1.3;
}

#menu_esq a {
  display: block;
  text-decoration: none;
  color: var(--texto);
  padding: 8px 12px;
  margin: 2px 0;
  border-radius: 10px;
  border-left: 3px solid transparent;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 500;
  transition: all .15s ease;
}

#menu_esq a:hover {
  background-color: #ffffff;
  border-left-color: var(--verde-medio);
  color: var(--verde);
}

#menu_esq a.active {
  background-color: var(--verde);
  border-left-color: var(--amarelo);
  color: #ffffff;
}

#myInput {
  width: 100%;
  font-size: 14px;
  padding: 11px 14px;
  border: 1px solid var(--linha);
  border-radius: 999px;
  margin-bottom: 12px;
  background: #ffffff;
  color: var(--texto);
  font-family: var(--fonte);
}

#myInput:focus {
  outline: none;
  border-color: var(--verde-medio);
  box-shadow: 0 0 0 3px rgba(63, 168, 107, .18);
}

.sticky_leftmenu {
  padding-top: 44px;
}

/* Desloca o conteudo quando o indice lateral esta aberto */
body.menu_aberto .corpo {
  margin-left: 320px;
}

@media (max-width:900px) {
  body.menu_aberto .corpo {
    margin-left: 0;
  }

  #indice_texto {
    box-shadow: var(--sombra);
  }
}

/* ============================================================
   4. AREA DE CONTEUDO
   ============================================================ */

.corpo {
  overflow-x: auto;
  padding: 22px 22px 60px 22px;
  transition: margin-left .2s ease;
}

#principal {
  max-width: 1560px;
  margin: 0 auto;
  padding: 30px 34px 40px 34px;
  background-color: var(--card);
  border: 1px solid var(--linha);
  border-radius: 24px;
  box-shadow: var(--sombra);
}

#principal h1 {
  text-align: center;
  font-weight: 800;
  font-size: 30px;
  line-height: 1.2;
  color: var(--azul);
  margin: 4px 0 26px 0;
  padding-bottom: 18px;
  position: relative;
  letter-spacing: -.015em;
}

#principal h1:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 180px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--verde) 0%, var(--amarelo) 50%, var(--azul) 100%);
}

#principal h2 {
  font-size: 23px;
  font-weight: 800;
  color: var(--azul);
  margin: 34px 0 12px 0;
  padding: 10px 0 10px 16px;
  border-left: 5px solid var(--verde-medio);
  background: linear-gradient(90deg, var(--verde-claro), rgba(255, 255, 255, 0) 70%);
  border-radius: 0 var(--raio-sm) var(--raio-sm) 0;
  scroll-margin-top: 110px;
}

#principal h3 {
  font-size: 19px;
  font-weight: 700;
  color: var(--verde);
  margin: 26px 0 10px 0;
  scroll-margin-top: 110px;
}

#principal h4 {
  font-size: 16.5px;
  font-weight: 700;
  color: var(--azul-medio);
  margin: 20px 0 8px 0;
  scroll-margin-top: 110px;
}

#principal p {
  font-size: 15px;
  line-height: 1.62;
  margin: 0 0 12px 0;
}

#principal a {
  color: var(--azul-medio);
  text-decoration: none;
  border-bottom: 1px solid rgba(47, 111, 174, .35);
  transition: all .15s ease;
}

#principal a:hover {
  color: var(--verde);
  border-bottom-color: var(--verde);
}

.subtitulo {
  font-size: 12px;
  color: var(--texto-suave);
}

.texto_normal {
  font-size: 15px;
  font-family: var(--fonte);
  text-indent: 0;
  line-height: 1.62;
}

.negrito {
  font-weight: 700;
  display: inline;
  color: var(--azul);
}

.texto_negrito {
  font-weight: 700;
}

.recuo {
  margin-left: 20px;
  display: inline-block;
}

/* Elementos customizados do MOC */

titulo,
titulo_tabela,
comentario_titulo,
subtitulo_pagina,
comentario {
  display: block;
  font-family: var(--fonte);
}

titulo_tabela {
  text-align: left;
  padding: 10px 0 10px 16px;
  margin: 30px 0 6px 0;
  font-weight: 800;
  font-size: 19px;
  color: var(--azul);
  border-left: 5px solid var(--amarelo);
  background: linear-gradient(90deg, var(--amarelo-claro), rgba(255, 255, 255, 0) 70%);
  border-radius: 0 var(--raio-sm) var(--raio-sm) 0;
  scroll-margin-top: 110px;
}

comentario_titulo,
subtitulo_pagina {
  text-align: left;
  padding-left: 4px;
  margin: 20px 0 6px 0;
  font-weight: 700;
  font-size: 16.5px;
  color: var(--verde);
  scroll-margin-top: 110px;
}

comentario {
  text-align: left;
  font-weight: 700;
  padding-left: 4px;
  color: var(--texto-suave);
}

/* Listas */

ul.lista {
  list-style-type: circle;
  padding-left: 2.6em;
}

ul li,
ol li {
  text-indent: 0;
  font-size: 15px;
  font-family: var(--fonte);
  line-height: 1.6;
  margin-bottom: 4px;
}

ol.a {
  list-style-type: upper-roman;
  padding-left: 2.6em;
}

ol.b {
  list-style-type: lower-alpha;
  font-weight: 700;
}

ol.b li span {
  font-weight: 400;
}

ul.disco {
  list-style-type: disc;
}

ul.circulo {
  list-style-type: circle;
}

/* Imagens e figuras */

.imagem_central {
  display: block;
  margin: 18px auto;
  max-width: 100%;
  height: auto;
  padding: 10px;
  background: #ffffff;
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  box-shadow: var(--sombra-sm);
}

#principal img {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 20px auto;
  text-align: center;
}

figcaption {
  font-size: 13px;
  color: var(--texto-suave);
  margin-top: 8px;
  font-weight: 600;
}

/* ============================================================
   5. TABELAS
   ============================================================ */

table {
  border-collapse: collapse;
  margin: 14px 0 22px 0;
  font-family: var(--fonte);
  background: #ffffff;
}

table td,
table th {
  border: 1px solid var(--linha);
  padding: 9px 11px;
  font-size: 13.5px;
  line-height: 1.5;
  vertical-align: top;
}

table th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, var(--azul) 0%, #1f6a9e 55%, var(--verde) 100%);
  border-color: rgba(255, 255, 255, .22);
}

table tr:first-child th:first-child {
  border-top-left-radius: var(--raio-sm);
}

table tr:first-child th:last-child {
  border-top-right-radius: var(--raio-sm);
}

table tr:nth-child(even) {
  background-color: #fafcfb;
}

table tr:hover td {
  background-color: rgba(63, 168, 107, .09);
}

.leiaute_nfe,
.leiaute_web_services,
.regras_validacao_nfe,
.regras_validacao_gerais {
  font-family: var(--fonte);
  border-collapse: collapse;
  width: 100%;
}

.leiaute_nfe td,
.leiaute_nfe th,
.leiaute_web_services td,
.leiaute_web_services th,
.regras_validacao_nfe td,
.regras_validacao_nfe th,
.regras_validacao_gerais td,
.regras_validacao_gerais th {
  border: 1px solid var(--linha);
  padding: 9px 11px;
}

.leiaute_nfe th,
.leiaute_web_services th,
.regras_validacao_nfe th,
.regras_validacao_gerais th,
.tabela_gtin th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, var(--azul) 0%, #1f6a9e 55%, var(--verde) 100%);
  border-color: rgba(255, 255, 255, .22);
}

.leiaute_nfe tr:hover,
.regras_validacao_nfe tr:hover,
.leiaute_web_services tr:hover,
.regras_validacao_gerais tr:hover,
.tabela_gtin tr:hover {
  background-color: transparent;
}

/* Linhas especiais */

tr.linha_grupo,
.linha_grupo {
  background: linear-gradient(90deg, rgba(28, 124, 74, .14) 0%, rgba(240, 193, 75, .16) 100%);
  font-weight: 700;
  color: var(--azul);
}

tr.linha_grupo_revogada,
.linha_grupo_revogada {
  background: linear-gradient(90deg, rgba(28, 124, 74, .10) 0%, rgba(240, 193, 75, .10) 100%);
  font-weight: 700;
  text-decoration: line-through;
  color: var(--texto-suave);
}

tr.linha_revogada,
.linha_revogada {
  text-decoration: line-through;
  color: var(--texto-suave);
  background-color: #fbfbfb;
}

.linha_revogada div {
  display: inline-block;
  text-decoration: none;
}

/* Tabelas com cabecalho secundario (tom claro) */

.tabela_assinatura,
.tabela_assinatura th,
.tabela_assinatura td {
  border-collapse: collapse;
  border-style: hidden;
}

.tabela_assinatura th {
  background: var(--azul-claro);
  color: var(--azul);
}

.tabela_eventos {
  width: 50%;
  margin: 18px auto;
  border-collapse: collapse;
}

.tabela_eventos th,
.tabela_distribuicao_dfe th,
.tributacao_leiaute th,
.leiaute_qr_code th,
.tabela_cstat th {
  background: linear-gradient(135deg, var(--azul-claro), var(--verde-claro));
  color: var(--azul);
  border: 1px solid var(--linha);
  font-weight: 700;
}

.tabela_eventos td:nth-child(1) { width: 10%; }
.tabela_eventos td:nth-child(2) { width: 35%; }
.tabela_eventos td:nth-child(3) { width: 5%; }
.tabela_eventos td:nth-child(4) { width: 35%; }
.tabela_eventos td:nth-child(5) { width: 15%; }

.tabela_regras_genericas {
  font-family: var(--fonte);
  border-collapse: collapse;
  width: 600px;
  max-width: 100%;
}

.tabela_regras_genericas,
.tabela_distribuicao_dfe {
  margin-left: auto;
  margin-right: auto;
}

.tabela_distribuicao_dfe {
  font-family: var(--fonte);
  border-collapse: collapse;
}

.tabela_distribuicao_dfe td,
.tabela_distribuicao_dfe th,
.tabela_regras_genericas td,
.tabela_regras_genericas th,
.tabela_gtin td,
.tabela_gtin th {
  border: 1px solid var(--linha);
  padding: 9px 11px;
}

.tabela_NSU {
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: auto;
}

/* Larguras de coluna - preservadas do leiaute original */

.leiaute_nfe td:nth-child(1) { width: 5%; }
.leiaute_nfe td:nth-child(2) { width: 5%; }
.leiaute_nfe td:nth-child(3) { width: 10%; }
.leiaute_nfe td:nth-child(4) { width: 25%; }
.leiaute_nfe td:nth-child(5) { width: 5%; }
.leiaute_nfe td:nth-child(6) { width: 5%; }
.leiaute_nfe td:nth-child(7) { width: 5%; }
.leiaute_nfe td:nth-child(8) { width: 5%; }
.leiaute_nfe td:nth-child(9) { width: 5%; }
.leiaute_nfe td:nth-child(10) { width: 30%; }

.leiaute_web_services td:nth-child(1) { width: 5%; }
.leiaute_web_services td:nth-child(2) { width: 15%; }
.leiaute_web_services td:nth-child(3) { width: 5%; }
.leiaute_web_services td:nth-child(4) { width: 5%; }
.leiaute_web_services td:nth-child(5) { width: 5%; }
.leiaute_web_services td:nth-child(6) { width: 5%; }
.leiaute_web_services td:nth-child(7) { width: 5%; }
.leiaute_web_services td:nth-child(8) { width: 65%; }

.regras_validacao_nfe td:nth-child(1) { width: 10%; }
.regras_validacao_nfe td:nth-child(2) { width: 5%; }
.regras_validacao_nfe td:nth-child(3) { width: 35%; }
.regras_validacao_nfe td:nth-child(4) { width: 5%; }
.regras_validacao_nfe td:nth-child(5) { width: 5%; }
.regras_validacao_nfe td:nth-child(6) { width: 5%; }
.regras_validacao_nfe td:nth-child(7) { width: 35%; }

.regras_validacao_gerais td:nth-child(1) { width: 10%; }
.regras_validacao_gerais td:nth-child(2) { width: 35%; }
.regras_validacao_gerais td:nth-child(3) { width: 5%; }
.regras_validacao_gerais td:nth-child(4) { width: 5%; }
.regras_validacao_gerais td:nth-child(5) { width: 5%; }
.regras_validacao_gerais td:nth-child(6) { width: 40%; }

.tributacao_leiaute {
  font-family: var(--fonte);
  border-collapse: collapse;
  width: 80%;
  border: 1px solid var(--linha);
}

.tributacao_leiaute th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: center;
}

.tributacao_leiaute td {
  text-align: center;
}

.tributacao_leiaute td:nth-child(1) { width: 5%; }
.tributacao_leiaute td:nth-child(2) { width: 10%; }
.tributacao_leiaute td:nth-child(3) { width: 30%; }
.tributacao_leiaute td:nth-child(4) { width: 5%; }
.tributacao_leiaute td:nth-child(5) { width: 5%; }
.tributacao_leiaute td:nth-child(6) { width: 5%; }

.leiaute_qr_code {
  font-family: var(--fonte);
  border-collapse: collapse;
  width: 80%;
  border: 1px solid var(--linha);
}

.leiaute_qr_code th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: center;
}

.leiaute_qr_code td:nth-child(1) { width: 10%; }
.leiaute_qr_code td:nth-child(2) { width: 90%; }

.tabela_cstat {
  font-family: var(--fonte);
  border-collapse: collapse;
  width: 50%;
  border: 1px solid var(--linha);
}

.tabela_cstat th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: center;
}

.tabela_cstat td:nth-child(1) { width: 7%; }
.tabela_cstat td:nth-child(2) { width: 93%; }

/* ============================================================
   6. BOTAO VOLTAR AO TOPO (criado por myscript.js)
   ============================================================ */

#voltar_topo {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 40;
  display: none;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--linha);
  border-radius: 50%;
  background: #ffffff;
  color: var(--azul);
  font-size: 19px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--sombra);
  transition: transform .15s ease, background .15s ease;
}

#voltar_topo:hover {
  transform: translateY(-2px);
  background: var(--verde-claro);
  color: var(--verde);
}

#voltar_topo.visivel {
  display: flex;
}

/* ============================================================
   7. RESPONSIVO E IMPRESSAO
   ============================================================ */

@media (max-width:760px) {
  .corpo {
    padding: 12px 10px 50px 10px;
  }

  #principal {
    padding: 20px 16px 28px 16px;
    border-radius: var(--raio);
  }

  #principal h1 {
    font-size: 23px;
  }

  #principal h2 {
    font-size: 19px;
  }

  .topo {
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 16px;
  }

  .dropdown-content {
    min-width: 260px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@media print {
  .barra_nav,
  #menu_esq,
  #voltar_topo {
    display: none !important;
  }

  .corpo {
    margin-left: 0 !important;
    padding: 0 !important;
  }

  #principal {
    box-shadow: none;
    border: 0;
    max-width: 100%;
  }

  body {
    background: #ffffff;
  }
}

/* Tabelas excepcionalmente largas */
.tabela-rolavel {
  width: 100%;
  max-width: 100%;
  margin: 14px 0 22px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--linha);
  border-radius: var(--raio-sm);
  -webkit-overflow-scrolling: touch;
}

.tabela-rolavel table {
  width: max-content;
  min-width: 100%;
  margin: 0;
}

.tabela-calculo-dv td {
  min-width: 30px;
  padding: 9px 7px;
  text-align: center;
  white-space: nowrap;
}

.tabela-calculo-dv td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 110px;
  text-align: left;
  white-space: normal;
  background-color: #ffffff;
}

.tabela-final-processamento {
  margin: 14px auto 22px;
}

/* ============================================================
   8. COMPLEMENTOS ESPECIFICOS DO MANUAL DA DC-e
   ============================================================ */

.nota_nt,
.destaque_legal,
.nota_atencao,
.nota_escopo {
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--linha);
  border-left-width: 5px;
  border-radius: 0 var(--raio-sm) var(--raio-sm) 0;
  font-family: var(--fonte);
  font-size: 14px;
  line-height: 1.55;
  box-shadow: var(--sombra-sm);
}

.nota_nt {
  background: var(--azul-claro);
  border-left-color: var(--azul-medio);
}

.nota_nt .rotulo {
  color: var(--azul);
}

.destaque_legal {
  background: var(--verde-claro);
  border-left-color: var(--verde-medio);
}

.nota_atencao {
  background: var(--amarelo-claro);
  border-left-color: var(--amarelo);
}

.nota_atencao .rotulo {
  color: #7a5600;
}

.nota_escopo {
  background: #fbfcfc;
  border-style: solid;
  border-left-color: var(--texto-suave);
}

.nota_escopo .rotulo,
.nota_nt .rotulo {
  font-weight: 800;
}

.tabela_dce {
  width: 96%;
  margin: 18px auto 24px;
  border-collapse: separate;
  border-spacing: 0;
  font-family: var(--fonte);
  font-size: 13.5px;
}

.tabela_dce caption,
.tabela_dv caption,
.leiaute_web_services caption,
.regras_validacao_gerais caption,
.leiaute_nfe caption,
.tabela_cstat caption {
  caption-side: top;
  padding-bottom: 8px;
  color: var(--azul);
  font-family: var(--fonte);
  font-size: 13px;
  font-style: italic;
  text-align: center;
}

.centralizado {
  text-align: center;
}

.tabela_estreita {
  width: 60%;
}

.rolagem_horizontal {
  width: 100%;
  max-width: 100%;
  margin: 14px 0 22px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--linha);
  border-radius: var(--raio-sm);
  -webkit-overflow-scrolling: touch;
}

.rolagem_horizontal table {
  width: max-content;
  min-width: 100%;
  margin: 0;
}

.tabela_dv {
  border-collapse: collapse;
  font-family: var(--fonte);
  font-size: 12px;
}

.tabela_dv th,
.tabela_dv td {
  padding: 6px 7px;
  text-align: center;
  white-space: nowrap;
}

.tabela_dv th:first-child,
.tabela_dv td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
}

.tabela_dv th:first-child {
  background: linear-gradient(135deg, var(--azul), var(--azul-medio));
}

.tabela_dv td:first-child {
  background: #ffffff;
}

figure {
  margin: 18px 0 24px;
}

figcaption {
  padding: 0 0 8px;
  color: var(--texto-suave);
  font-family: var(--fonte);
  font-size: 13px;
  font-style: italic;
  text-align: center;
}

.lista_ws {
  padding-left: 2.2em;
  font-family: var(--fonte);
  font-size: 15px;
  line-height: 1.55;
}

.lista_ws li {
  padding: 3px 0;
}

.linha_nova {
  background-color: var(--verde-claro);
}

.linha_alterada {
  background-color: var(--amarelo-claro);
}

.linha_nova:hover td,
.linha_alterada:hover td {
  background-color: rgba(234, 242, 250, .82);
}

.etq {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 999px;
  font-family: var(--fonte);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
  vertical-align: middle;
  white-space: nowrap;
}

.etq-nova {
  background: var(--verde);
  color: #ffffff;
}

.etq-alterada {
  background: #a86e00;
  color: #ffffff;
}

.etq-removida {
  background: #8b1a1a;
  color: #ffffff;
}

.etq-rej {
  color: #8b1a1a;
  background: #f8eded;
  border: 1px solid #d8bfbf;
}

.linha_revogada .etq,
.linha_grupo_revogada .etq {
  display: inline-block;
  text-decoration: none;
}

.legenda {
  padding-left: 0;
  color: var(--texto-suave);
  font-family: var(--fonte);
  font-size: 12px;
}

.fonte {
  margin: 30px 0 10px;
  padding-top: 12px;
  color: var(--texto-suave);
  border-top: 1px solid var(--linha);
  font-family: var(--fonte);
  font-size: 12px;
}

.fluxo {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  margin: 16px 0 22px;
  font-family: var(--fonte);
}

.fluxo-etapa {
  flex: 1 1 170px;
  padding: 12px 14px;
  background: linear-gradient(180deg, #ffffff, var(--azul-claro));
  border: 1px solid var(--linha);
  border-top: 4px solid var(--azul-medio);
  border-radius: var(--raio-sm);
  box-shadow: var(--sombra-sm);
  font-size: 13px;
}

.fluxo-etapa b {
  display: block;
  margin-bottom: 4px;
  color: var(--azul);
}

.fluxo-seta {
  align-self: center;
  color: var(--verde);
  font-size: 22px;
  font-weight: 800;
}

.tag,
code {
  padding: 1px 5px;
  border-radius: 5px;
  background: var(--azul-claro);
  font-family: var(--fonte-mono);
  font-size: .9em;
  white-space: nowrap;
}

caption code,
.rotulo code {
  padding: 0;
  background: transparent;
}

td.id,
td.campo {
  font-family: var(--fonte-mono);
  font-size: 12px;
}

a.ancora {
  display: block;
  height: 0;
  overflow: hidden;
}

#principal > p.subtitulo {
  margin-top: -6px;
  color: var(--texto-suave);
  font-family: var(--fonte);
  font-size: 14px;
  text-align: center;
}

@media (max-width:760px) {
  .nota_nt,
  .destaque_legal,
  .nota_atencao,
  .nota_escopo {
    margin-left: 0;
    margin-right: 0;
  }

  .tabela_estreita {
    width: 100%;
  }

  .fluxo-seta {
    display: none;
  }
}

/* Ajustes globais de tabelas — revisão DC-e */
#principal table {
  margin-left: auto;
  margin-right: auto;
  table-layout: auto;
}

#principal table th,
#principal table td {
  width: auto;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.rolagem_horizontal .leiaute-dce-campos {
  width: 100%;
  min-width: 1325px;
}

#principal .leiaute-dce-campos col:nth-child(1) { width: 4%; }
#principal .leiaute-dce-campos col:nth-child(2) { width: 5%; }
#principal .leiaute-dce-campos col:nth-child(3) { width: 9%; }
#principal .leiaute-dce-campos col:nth-child(4) { width: 18%; }
#principal .leiaute-dce-campos col:nth-child(5) { width: 4%; }
#principal .leiaute-dce-campos col:nth-child(6) { width: 5%; }
#principal .leiaute-dce-campos col:nth-child(7) { width: 5%; }
#principal .leiaute-dce-campos col:nth-child(8) { width: 6%; }
#principal .leiaute-dce-campos col:nth-child(9) { width: 7%; }
#principal .leiaute-dce-campos col:nth-child(10) { width: 37%; }

#principal .leiaute-dce-campos th:nth-child(1),
#principal .leiaute-dce-campos td:nth-child(1) { width: 4%; }
#principal .leiaute-dce-campos th:nth-child(2),
#principal .leiaute-dce-campos td:nth-child(2) { width: 5%; }
#principal .leiaute-dce-campos th:nth-child(3),
#principal .leiaute-dce-campos td:nth-child(3) { width: 9%; }
#principal .leiaute-dce-campos th:nth-child(4),
#principal .leiaute-dce-campos td:nth-child(4) { width: 18%; }
#principal .leiaute-dce-campos th:nth-child(5),
#principal .leiaute-dce-campos td:nth-child(5) { width: 4%; }
#principal .leiaute-dce-campos th:nth-child(6),
#principal .leiaute-dce-campos td:nth-child(6) { width: 5%; }
#principal .leiaute-dce-campos th:nth-child(7),
#principal .leiaute-dce-campos td:nth-child(7) { width: 5%; }
#principal .leiaute-dce-campos th:nth-child(8),
#principal .leiaute-dce-campos td:nth-child(8) { width: 6%; }
#principal .leiaute-dce-campos th:nth-child(9),
#principal .leiaute-dce-campos td:nth-child(9) { width: 7%; }
#principal .leiaute-dce-campos th:nth-child(10),
#principal .leiaute-dce-campos td:nth-child(10) { width: 37%; }

.rolagem_horizontal .regras_validacao_gerais {
  width: 100%;
  min-width: 1120px;
}

#principal .regras_validacao_gerais th:nth-child(1),
#principal .regras_validacao_gerais td:nth-child(1) { width: 10%; }
#principal .regras_validacao_gerais th:nth-child(2),
#principal .regras_validacao_gerais td:nth-child(2) { width: 38%; }
#principal .regras_validacao_gerais th:nth-child(3),
#principal .regras_validacao_gerais td:nth-child(3) { width: 7%; }
#principal .regras_validacao_gerais th:nth-child(4),
#principal .regras_validacao_gerais td:nth-child(4) { width: 7%; }
#principal .regras_validacao_gerais th:nth-child(5),
#principal .regras_validacao_gerais td:nth-child(5) { width: 7%; }
#principal .regras_validacao_gerais th:nth-child(6),
#principal .regras_validacao_gerais td:nth-child(6) { width: 31%; }

#principal .tabela-codigos th:nth-child(1),
#principal .tabela-codigos td:nth-child(1) { width: 12%; }
#principal .tabela-codigos th:nth-child(2),
#principal .tabela-codigos td:nth-child(2) { width: 58%; }
#principal .tabela-codigos th:nth-child(3),
#principal .tabela-codigos td:nth-child(3) { width: 30%; }

.linha-grupo td{background:#dbeafe!important;font-weight:700;color:#17365d}.figura-oficial{text-align:center;margin:24px auto}.figura-oficial img{display:block;max-width:min(100%,900px);height:auto;margin:0 auto}.figura-oficial figcaption{text-align:center;font-size:.92rem;color:#555;margin-top:8px}


/* Revisão final CT-e: alinhamento, tabelas e figuras */
.pagina-documentacao {
  margin: 0;
  padding: 0;
  overflow-x: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.conteudo-documentacao p,
.conteudo-documentacao .subsecao-documentacao,
.conteudo-documentacao .lista-documentacao,
.sumario-publicacao {
  max-width: none;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.conteudo-documentacao .lista-documentacao {
  padding-left: 28px;
}

#principal .tabela-cte {
  min-width: 1320px;
  table-layout: fixed;
}

#principal .tabela-cte th:nth-child(1),
#principal .tabela-cte td:nth-child(1) { width: 4%; }
#principal .tabela-cte th:nth-child(2),
#principal .tabela-cte td:nth-child(2) { width: 10%; }
#principal .tabela-cte th:nth-child(3),
#principal .tabela-cte td:nth-child(3) { width: 5%; }
#principal .tabela-cte th:nth-child(4),
#principal .tabela-cte td:nth-child(4) { width: 21%; }
#principal .tabela-cte th:nth-child(5),
#principal .tabela-cte td:nth-child(5) { width: 4%; }
#principal .tabela-cte th:nth-child(6),
#principal .tabela-cte td:nth-child(6) { width: 4%; }
#principal .tabela-cte th:nth-child(7),
#principal .tabela-cte td:nth-child(7) { width: 6%; }
#principal .tabela-cte th:nth-child(8),
#principal .tabela-cte td:nth-child(8) { width: 7%; }
#principal .tabela-cte th:nth-child(9),
#principal .tabela-cte td:nth-child(9) { width: 7%; }
#principal .tabela-cte th:nth-child(10),
#principal .tabela-cte td:nth-child(10) { width: 7%; }
#principal .tabela-cte th:nth-child(11),
#principal .tabela-cte td:nth-child(11) { width: 25%; }

#principal .tabela-referencia {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
}

#principal .tabela-referencia th:first-child,
#principal .tabela-referencia td:first-child {
  width: 14%;
  white-space: nowrap;
}

#principal .tabela-campos-vedados {
  width: min(100%, 920px);
  margin-right: auto;
  margin-left: auto;
}

#principal .tabela-campos-vedados th,
#principal .tabela-campos-vedados td,
#principal .tabela-codigos th,
#principal .tabela-codigos td,
#principal .tabela-referencia th,
#principal .tabela-referencia td {
  text-align: center;
  vertical-align: middle;
}

.figura-oficial img {
  width: auto;
  max-width: min(100%, 920px);
}

.modelo-dacte img {
  width: auto;
  max-width: min(100%, 1040px);
  border: 1px solid var(--linha);
  border-radius: 8px;
}


/* Quadros recuperados do PDF */
#principal .tabela-correlacao {
  width: 100%;
  min-width: 860px;
  table-layout: fixed;
}

#principal .tabela-correlacao th,
#principal .tabela-correlacao td {
  text-align: center;
  vertical-align: middle;
}

#principal .tabela-correlacao th:nth-child(1),
#principal .tabela-correlacao td:nth-child(1) { width: 30%; }
#principal .tabela-correlacao th:nth-child(2),
#principal .tabela-correlacao td:nth-child(2) { width: 32%; }
#principal .tabela-correlacao th:nth-child(3),
#principal .tabela-correlacao td:nth-child(3) { width: 38%; }

#principal .tabela-calculo-dv td:last-child {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}


/* Regras recuperadas de quebras de página */
#principal .tabela-regras-recuperada {
  width: 100%;
  min-width: 780px;
  table-layout: fixed;
}

#principal .tabela-regras-recuperada th:first-child,
#principal .tabela-regras-recuperada td:first-child {
  width: 12%;
  white-space: nowrap;
}

#principal .tabela-regras-recuperada th,
#principal .tabela-regras-recuperada td {
  text-align: center;
  vertical-align: middle;
}

#principal .tabela-layout-nt {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}

#principal .tabela-layout-nt th,
#principal .tabela-layout-nt td {
  text-align: center;
  vertical-align: middle;
}

#principal .tabela-layout-nt th:last-child,
#principal .tabela-layout-nt td:last-child {
  width: 42%;
}


/* Ajustes solicitados - revisão CT-e 5 */
#principal .rolagem_horizontal {
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
}

#principal .rolagem_horizontal > table {
  width: 100%;
  min-width: 100%;
}

#principal table {
  width: 100% !important;
  max-width: none;
}

#principal table th,
#principal table td {
  word-break: normal;
  overflow-wrap: break-word;
}

#principal .titulo-tabela {
  margin: 22px 0 10px !important;
  padding: 10px 14px;
  border: 1px solid var(--linha-forte);
  border-radius: 10px;
  background: linear-gradient(90deg, var(--azul-claro), var(--verde-claro));
  color: var(--azul);
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

#principal .tabela-eventos {
  min-width: 1180px;
  table-layout: fixed;
}
#principal .tabela-eventos th:nth-child(1),
#principal .tabela-eventos td:nth-child(1) { width: 9%; }
#principal .tabela-eventos th:nth-child(2),
#principal .tabela-eventos td:nth-child(2) { width: 9%; }
#principal .tabela-eventos th:nth-child(3),
#principal .tabela-eventos td:nth-child(3) { width: 18%; }
#principal .tabela-eventos th:nth-child(4),
#principal .tabela-eventos td:nth-child(4) { width: 16%; }
#principal .tabela-eventos th:nth-child(5),
#principal .tabela-eventos td:nth-child(5) { width: 19%; }
#principal .tabela-eventos th:nth-child(6),
#principal .tabela-eventos td:nth-child(6) { width: 17%; }
#principal .tabela-eventos th:nth-child(7),
#principal .tabela-eventos td:nth-child(7) { width: 12%; }

#principal .tabela-cte-simplificado {
  min-width: 1380px;
  table-layout: fixed;
}
#principal .tabela-cte-simplificado th:nth-child(1),
#principal .tabela-cte-simplificado td:nth-child(1) { width: 3%; }
#principal .tabela-cte-simplificado th:nth-child(2),
#principal .tabela-cte-simplificado td:nth-child(2) { width: 7%; }
#principal .tabela-cte-simplificado th:nth-child(3),
#principal .tabela-cte-simplificado td:nth-child(3) { width: 4%; }
#principal .tabela-cte-simplificado th:nth-child(4),
#principal .tabela-cte-simplificado td:nth-child(4) { width: 25%; }
#principal .tabela-cte-simplificado th:nth-child(5),
#principal .tabela-cte-simplificado td:nth-child(5) { width: 4%; }
#principal .tabela-cte-simplificado th:nth-child(6),
#principal .tabela-cte-simplificado td:nth-child(6) { width: 4%; }
#principal .tabela-cte-simplificado th:nth-child(7),
#principal .tabela-cte-simplificado td:nth-child(7) { width: 5%; }
#principal .tabela-cte-simplificado th:nth-child(8),
#principal .tabela-cte-simplificado td:nth-child(8) { width: 6%; }
#principal .tabela-cte-simplificado th:nth-child(9),
#principal .tabela-cte-simplificado td:nth-child(9) { width: 6%; }
#principal .tabela-cte-simplificado th:nth-child(10),
#principal .tabela-cte-simplificado td:nth-child(10) { width: 7%; }
#principal .tabela-cte-simplificado th:nth-child(11),
#principal .tabela-cte-simplificado td:nth-child(11) { width: 29%; }

#principal .tabela-ibscbs {
  min-width: 1160px;
  table-layout: fixed;
}
#principal .tabela-ibscbs th:nth-child(1),
#principal .tabela-ibscbs td:nth-child(1) { width: 5%; }
#principal .tabela-ibscbs th:nth-child(2),
#principal .tabela-ibscbs td:nth-child(2) { width: 13%; }
#principal .tabela-ibscbs th:nth-child(3),
#principal .tabela-ibscbs td:nth-child(3) { width: 6%; }
#principal .tabela-ibscbs th:nth-child(4),
#principal .tabela-ibscbs td:nth-child(4) { width: 14%; }
#principal .tabela-ibscbs th:nth-child(5),
#principal .tabela-ibscbs td:nth-child(5) { width: 6%; }
#principal .tabela-ibscbs th:nth-child(6),
#principal .tabela-ibscbs td:nth-child(6) { width: 7%; }
#principal .tabela-ibscbs th:nth-child(7),
#principal .tabela-ibscbs td:nth-child(7) { width: 8%; }
#principal .tabela-ibscbs th:nth-child(8),
#principal .tabela-ibscbs td:nth-child(8) { width: 41%; }

#principal .tabela-metadados-nt {
  width: 100%;
  table-layout: fixed;
}
#principal .tabela-metadados-nt th:first-child,
#principal .tabela-metadados-nt td:first-child { width: 20%; }

#principal .tabela-regra-validacao {
  min-width: 1460px;
  table-layout: fixed;
}
#principal .tabela-regra-validacao th:nth-child(1),
#principal .tabela-regra-validacao td:nth-child(1) { width: 7%; }
#principal .tabela-regra-validacao th:nth-child(2),
#principal .tabela-regra-validacao td:nth-child(2) { width: 39%; }
#principal .tabela-regra-validacao th:nth-child(3),
#principal .tabela-regra-validacao td:nth-child(3) { width: 8%; }
#principal .tabela-regra-validacao th:nth-child(4),
#principal .tabela-regra-validacao td:nth-child(4) { width: 7%; }
#principal .tabela-regra-validacao th:nth-child(5),
#principal .tabela-regra-validacao td:nth-child(5) { width: 7%; }
#principal .tabela-regra-validacao th:nth-child(6),
#principal .tabela-regra-validacao td:nth-child(6) { width: 32%; }

#principal .tabela-consulta-cte {
  min-width: 980px;
  table-layout: fixed;
}
#principal .tabela-consulta-cte th:nth-child(1),
#principal .tabela-consulta-cte td:nth-child(1) { width: 10%; }
#principal .tabela-consulta-cte th:nth-child(2),
#principal .tabela-consulta-cte td:nth-child(2) { width: 48%; }
#principal .tabela-consulta-cte th:nth-child(3),
#principal .tabela-consulta-cte td:nth-child(3) { width: 42%; }

/* Revisão final de padronização do MOC CT-e */
.subtitulo-pagina{max-width:1100px;margin:-.35rem auto 2rem;text-align:center;color:#526b88;font-size:1.05rem;line-height:1.55}
.titulo-tabela{display:block;width:100%;box-sizing:border-box;margin:1.5rem 0 .65rem;padding:.65rem 1rem;text-align:center;font-size:1.12rem;font-weight:700;color:#154f86;background:#eef5fb;border-left:4px solid #23875f;border-radius:4px}
.conteudo-principal table,.tabela-wrapper{width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
.conteudo-principal th,.conteudo-principal td{text-align:center;vertical-align:middle;overflow-wrap:anywhere;word-break:normal}
.conteudo-principal td:nth-child(2){text-align:center}
.tabela-regra-gtve,.tabela-regra-validacao{table-layout:fixed;min-width:1200px}
.tabela-regra-gtve th:nth-child(1),.tabela-regra-gtve td:nth-child(1){width:7%}
.tabela-regra-gtve th:nth-child(2),.tabela-regra-gtve td:nth-child(2){width:61%}
.tabela-regra-gtve th:nth-child(3),.tabela-regra-gtve td:nth-child(3){width:11%}
.tabela-regra-gtve th:nth-child(4),.tabela-regra-gtve td:nth-child(4){width:9%}
.tabela-regra-gtve th:nth-child(5),.tabela-regra-gtve td:nth-child(5){width:12%}
.tabela-consumo-indevido{table-layout:fixed;min-width:1050px}
.tabela-consumo-indevido th:nth-child(1),.tabela-consumo-indevido td:nth-child(1){width:7%}
.tabela-consumo-indevido th:nth-child(2),.tabela-consumo-indevido td:nth-child(2){width:53%}
.tabela-consumo-indevido th:nth-child(3),.tabela-consumo-indevido td:nth-child(3){width:9%}
.tabela-consumo-indevido th:nth-child(4),.tabela-consumo-indevido td:nth-child(4){width:9%}
.tabela-consumo-indevido th:nth-child(5),.tabela-consumo-indevido td:nth-child(5){width:22%}
.figura-oficial img{display:block;max-width:100%;height:auto;margin:0 auto}
.figura-qrcode img{width:min(280px,100%)}
.bloco-exemplo,.exemplo-codigo{overflow-wrap:anywhere;word-break:break-word}
.bloco-exemplo{padding:12px 16px;border-left:4px solid #2563eb;background:rgba(37,99,235,.06);border-radius:4px}
.bloco-exemplo p{margin:.35rem 0}
.tabela-exemplos-consumo{min-width:820px}
.tabela-exemplos-consumo th:first-child,.tabela-exemplos-consumo td:first-child{width:24%;white-space:normal}


/* Revisão estrutural final - rodada 6 */
.subtitulo-pagina{display:block;width:100%;max-width:1100px;margin:-.35rem auto 2rem!important;text-align:center!important}
.tabela-wrapper,.rolagem_horizontal{width:100%;max-width:100%;margin-left:auto!important;margin-right:auto!important;overflow-x:auto}
.tabela-wrapper table,.rolagem_horizontal table{width:100%;margin-left:auto!important;margin-right:auto!important}
.tabela-paa th:nth-child(1),.tabela-paa td:nth-child(1){width:13%}
.tabela-paa th:nth-child(2),.tabela-paa td:nth-child(2){width:12%}
.tabela-paa th:nth-child(3),.tabela-paa td:nth-child(3){width:25%;text-align:left}
.tabela-paa th:nth-child(8),.tabela-paa td:nth-child(8){width:28%;text-align:left}
.tabela-gtve-layout th:nth-child(8),.tabela-gtve-layout td:nth-child(8),.tabela-dutoviario th:nth-child(4),.tabela-dutoviario td:nth-child(4),.tabela-dutoviario th:nth-child(9),.tabela-dutoviario td:nth-child(9){text-align:left}
.linha-grupo td{background:#d7d7d7!important;font-weight:700!important;color:#1f2937!important}
.referencia-conteudo{margin:1rem 0 1.5rem;padding:1rem 1.15rem;border-left:4px solid #1f6fa5;background:#f2f7fb}
.referencia-conteudo p{margin:0}

/* Ajustes finais: colunas, revogações e tabelas reconstruídas */
#principal table.coluna-campo-nowrap[data-campo-col="1"] th:nth-child(1),#principal table.coluna-campo-nowrap[data-campo-col="1"] td:nth-child(1){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="2"] th:nth-child(2),#principal table.coluna-campo-nowrap[data-campo-col="2"] td:nth-child(2){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="3"] th:nth-child(3),#principal table.coluna-campo-nowrap[data-campo-col="3"] td:nth-child(3){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="4"] th:nth-child(4),#principal table.coluna-campo-nowrap[data-campo-col="4"] td:nth-child(4){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="5"] th:nth-child(5),#principal table.coluna-campo-nowrap[data-campo-col="5"] td:nth-child(5){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="6"] th:nth-child(6),#principal table.coluna-campo-nowrap[data-campo-col="6"] td:nth-child(6){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="7"] th:nth-child(7),#principal table.coluna-campo-nowrap[data-campo-col="7"] td:nth-child(7){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="8"] th:nth-child(8),#principal table.coluna-campo-nowrap[data-campo-col="8"] td:nth-child(8){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="9"] th:nth-child(9),#principal table.coluna-campo-nowrap[data-campo-col="9"] td:nth-child(9){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="10"] th:nth-child(10),#principal table.coluna-campo-nowrap[data-campo-col="10"] td:nth-child(10){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="11"] th:nth-child(11),#principal table.coluna-campo-nowrap[data-campo-col="11"] td:nth-child(11){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
#principal table.coluna-campo-nowrap[data-campo-col="12"] th:nth-child(12),#principal table.coluna-campo-nowrap[data-campo-col="12"] td:nth-child(12){white-space:nowrap;width:1%;min-width:max-content;overflow-wrap:normal;word-break:normal}
.linha-revogada td{text-decoration:line-through;color:#667085;background:#f7f8f9!important}.linha-revogada td::selection{text-decoration:none}.tabela-regra-distribuicao{min-width:980px;table-layout:fixed}.tabela-regra-distribuicao th:nth-child(1),.tabela-regra-distribuicao td:nth-child(1){width:8%}.tabela-regra-distribuicao th:nth-child(2),.tabela-regra-distribuicao td:nth-child(2){width:55%}.tabela-regra-distribuicao th:nth-child(3),.tabela-regra-distribuicao td:nth-child(3){width:13%}.tabela-regra-distribuicao th:nth-child(4),.tabela-regra-distribuicao td:nth-child(4){width:12%}.tabela-regra-distribuicao th:nth-child(5),.tabela-regra-distribuicao td:nth-child(5){width:12%}


/* Correcoes solicitadas - tabelas de eventos e colunas do Leiaute */
#principal .tabela-leiaute-principal {
  min-width: 1500px;
  table-layout: fixed;
}
#principal .tabela-leiaute-principal th:nth-child(1),
#principal .tabela-leiaute-principal td:nth-child(1) { width: 4%; white-space: nowrap; }
#principal .tabela-leiaute-principal th:nth-child(2),
#principal .tabela-leiaute-principal td:nth-child(2) { width: 12%; min-width: 150px; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
#principal .tabela-leiaute-principal th:nth-child(3),
#principal .tabela-leiaute-principal td:nth-child(3) { width: 4%; min-width: 58px; white-space: nowrap; }
#principal .tabela-leiaute-principal th:nth-child(4),
#principal .tabela-leiaute-principal td:nth-child(4) { width: 18%; }
#principal .tabela-leiaute-principal th:nth-child(5),
#principal .tabela-leiaute-principal td:nth-child(5) { width: 4%; }
#principal .tabela-leiaute-principal th:nth-child(6),
#principal .tabela-leiaute-principal td:nth-child(6) { width: 4%; }
#principal .tabela-leiaute-principal th:nth-child(7),
#principal .tabela-leiaute-principal td:nth-child(7) { width: 6%; }
#principal .tabela-leiaute-principal th:nth-child(8),
#principal .tabela-leiaute-principal td:nth-child(8) { width: 7%; }
#principal .tabela-leiaute-principal th:nth-child(9),
#principal .tabela-leiaute-principal td:nth-child(9) { width: 7%; }
#principal .tabela-leiaute-principal th:nth-child(10),
#principal .tabela-leiaute-principal td:nth-child(10) { width: 7%; }
#principal .tabela-leiaute-principal th:nth-child(11),
#principal .tabela-leiaute-principal td:nth-child(11) { width: 27%; }

#principal .tabela-dutoviario {
  min-width: 1120px;
  table-layout: fixed;
}
#principal .tabela-dutoviario th:nth-child(1),
#principal .tabela-dutoviario td:nth-child(1) { width: 5%; white-space: nowrap; }
#principal .tabela-dutoviario th:nth-child(2),
#principal .tabela-dutoviario td:nth-child(2) { width: 15%; min-width: 145px; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
#principal .tabela-dutoviario th:nth-child(3),
#principal .tabela-dutoviario td:nth-child(3) { width: 6%; min-width: 58px; white-space: nowrap; }
#principal .tabela-dutoviario th:nth-child(4),
#principal .tabela-dutoviario td:nth-child(4) { width: 22%; }
#principal .tabela-dutoviario th:nth-child(9),
#principal .tabela-dutoviario td:nth-child(9) { width: 30%; }

/* Round 9: colunas Campo e Nível sem sobreposição */
#principal table.tabela-campo-nivel {
  width: 100% !important;
  min-width: 1500px !important;
  table-layout: fixed !important;
}
#principal table.tabela-campo-nivel[data-campo-col="2"] th:nth-child(2),
#principal table.tabela-campo-nivel[data-campo-col="2"] td:nth-child(2) {
  width: 170px !important; min-width: 170px !important; max-width: 170px !important;
  white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important;
}
#principal table.tabela-campo-nivel[data-nivel-col="3"] th:nth-child(3),
#principal table.tabela-campo-nivel[data-nivel-col="3"] td:nth-child(3) {
  width: 72px !important; min-width: 72px !important; max-width: 72px !important;
  white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important;
}


/* Integração ao portal: larguras precisas das tabelas indicadas */
#principal .tabela-ibscbs {
  width: 100% !important;
  min-width: 1280px !important;
  table-layout: fixed !important;
}
#principal .tabela-ibscbs th:nth-child(1),
#principal .tabela-ibscbs td:nth-child(1) { width: 58px !important; }
#principal .tabela-ibscbs th:nth-child(2),
#principal .tabela-ibscbs td:nth-child(2) {
  width: 180px !important;
  min-width: 180px !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
#principal .tabela-ibscbs th:nth-child(3),
#principal .tabela-ibscbs td:nth-child(3) {
  width: 72px !important;
  min-width: 72px !important;
  white-space: nowrap !important;
}
#principal .tabela-ibscbs th:nth-child(4),
#principal .tabela-ibscbs td:nth-child(4) { width: 160px !important; white-space: nowrap !important; }
#principal .tabela-ibscbs th:nth-child(5),
#principal .tabela-ibscbs td:nth-child(5) { width: 68px !important; }
#principal .tabela-ibscbs th:nth-child(6),
#principal .tabela-ibscbs td:nth-child(6) { width: 78px !important; }
#principal .tabela-ibscbs th:nth-child(7),
#principal .tabela-ibscbs td:nth-child(7) { width: 88px !important; }

#principal .tabela-paa {
  min-width: 1120px;
  table-layout: fixed;
}
#principal .tabela-paa th:nth-child(1),
#principal .tabela-paa td:nth-child(1) {
  width: 150px !important;
  min-width: 150px !important;
  white-space: nowrap !important;
}
#principal .tabela-paa th:nth-child(2),
#principal .tabela-paa td:nth-child(2) {
  width: 135px !important;
  min-width: 135px !important;
  white-space: nowrap !important;
}
#principal .tabela-paa th:nth-child(3),
#principal .tabela-paa td:nth-child(3) { width: 245px !important; }
#principal .tabela-paa th:nth-child(4),
#principal .tabela-paa td:nth-child(4) { width: 62px !important; }
#principal .tabela-paa th:nth-child(5),
#principal .tabela-paa td:nth-child(5) { width: 72px !important; }
#principal .tabela-paa th:nth-child(6),
#principal .tabela-paa td:nth-child(6) { width: 78px !important; }
#principal .tabela-paa th:nth-child(7),
#principal .tabela-paa td:nth-child(7) { width: 72px !important; }
/* Revisão das páginas DACTE, Contingência e Tabelas e Informações */
.figura-documentacao {
  margin: 1.35rem auto;
  padding: 1rem;
  max-width: 920px;
  text-align: center;
  border: 1px solid rgba(31, 104, 143, .2);
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
  box-sizing: border-box;
}

.figura-documentacao img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

.figura-documentacao figcaption {
  margin-top: .65rem;
  color: #4b5d66;
  font-size: .92rem;
  line-height: 1.4;
}

.figura-documentacao.figura-qrcode {
  max-width: 360px;
}

.figura-documentacao.figura-larga img {
  width: 100%;
}

.modalidades-contingencia {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: .75rem;
  max-width: 760px;
  margin: 1.4rem auto;
  align-items: center;
  text-align: center;
}

.modalidades-contingencia span {
  padding: .7rem .85rem;
  color: #fff;
  background: #287bab;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 3px 9px rgba(16, 74, 106, .16);
}

.modalidades-contingencia .modalidade-centro {
  grid-column: 1 / -1;
  justify-self: center;
  min-width: 210px;
  background: #155c84;
}

.lista-romana,
.lista-alfabetica {
  margin-top: .7rem;
}

.aviso-documentacao,
.nota-documentacao {
  padding: .8rem 1rem;
  border-left: 4px solid #287bab;
  background: rgba(40, 123, 171, .08);
  border-radius: 0 6px 6px 0;
}

.tabela-documentacao code,
.sequencia-tecnica {
  font-family: Consolas, "Liberation Mono", monospace;
}

.sequencia-tecnica {
  white-space: nowrap;
  letter-spacing: .015em;
}

.tabela-escape {
  max-width: 560px;
  margin-inline: auto;
}

.tabela-escape td:first-child,
.tabela-escape th:first-child,
.tabela-protocolo td:nth-child(2),
.tabela-protocolo th:nth-child(2),
.tabela-code128 td:not(:first-child),
.tabela-code128 th:not(:first-child),
.tabela-aliquotas td:not(:first-child),
.tabela-aliquotas th:not(:first-child) {
  text-align: center;
}

.tabela-uf,
.tabela-cfop,
.tabela-protocolo,
.tabela-aliquotas,
.tabela-code128 {
  width: 100%;
}

.tabela-uf th,
.tabela-uf td {
  min-width: 165px;
  vertical-align: top;
}

.tabela-cfop th:first-child,
.tabela-cfop td:first-child {
  width: 7.5rem;
  min-width: 7.5rem;
  white-space: nowrap;
  text-align: center;
}

.tabela-protocolo th:first-child,
.tabela-protocolo td:first-child {
  min-width: 160px;
}

.tabela-protocolo th:nth-child(2),
.tabela-protocolo td:nth-child(2) {
  width: 7rem;
  min-width: 7rem;
}

.tabela-campos-it th:first-child,
.tabela-campos-it td:first-child {
  width: 15rem;
  min-width: 15rem;
  font-family: Consolas, "Liberation Mono", monospace;
}

.tabela-simbolizacao-code128 {
  min-width: 860px;
}

.tabela-simbolizacao-code128 thead th,
.tabela-simbolizacao-code128 tbody th {
  text-align: center;
}

.tabela-simbolizacao-code128 td {
  white-space: nowrap;
}

@media (prefers-color-scheme: dark) {
  .figura-documentacao {
    background: rgba(255, 255, 255, .95);
  }

  .figura-documentacao figcaption {
    color: #30444f;
  }
}

@media (max-width: 680px) {
  .figura-documentacao {
    padding: .65rem;
    margin-block: 1rem;
  }

  .modalidades-contingencia {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }

  .modalidades-contingencia .modalidade-centro {
    grid-column: 1 / -1;
  }
}
