/* CT-e / DACTE — layout exclusivo, baseado no exemplo visual fornecido. */
.cte-print,
.cte-print * { box-sizing:border-box; }

.cte-print {
  background:#fff;
  color:#111;
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  width:100%;
}

.cte-print .cte-sheet {
  background:#fff;
  border:0;
  color:#111;
  display:flex;
  flex-direction:column;
  height:277mm;
  margin:0 auto;
  overflow:hidden;
  padding:2mm;
  width:190mm;
}

.cte-print .cte-homolog {
  border:0.14mm solid #555;
  font-size:5.8pt;
  font-weight:700;
  margin-bottom:0.5mm;
  padding:0.25mm;
  text-align:center;
}
.cte-print .cte-homolog[hidden] { display:none !important; }

/* Cabeçalho: Emitente 68 mm | DACTE 89 mm | QR 29 mm = 186 mm. */
.cte-print .cte-header {
  display:grid;
  grid-template-columns:68mm 89mm 29mm;
  height:31mm;
  width:186mm;
}

.cte-print .cte-emitter-column,
.cte-print .cte-center-column,
.cte-print .cte-qr {
  border:0.14mm solid #555;
  border-radius:0;
}
.cte-print .cte-emitter-column,
.cte-print .cte-center-column { border-right:0; }

.cte-print .cte-emitter-column {
  display:grid;
  grid-template-rows:26mm 5mm;
}
.cte-print .cte-emitter {
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0.4mm 0.7mm;
  text-align:center;
}
.cte-print .cte-emitter strong { display:block; font-size:10.4pt; line-height:1; }
.cte-print .cte-emitter b { display:block; font-size:6pt; line-height:1.03; margin-top:0.45mm; }
.cte-print .cte-emitter p { font-size:4.6pt; line-height:1.05; margin:0.6mm 0 0.2mm; }
.cte-print .cte-emitter small { display:block; font-size:4.4pt; line-height:1.04; }

.cte-print .cte-types-row {
  border-top:0.14mm solid #555;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.cte-print .cte-inline {
  align-items:center;
  display:flex;
  gap:0.6mm;
  min-width:0;
  padding:0.15mm 0.35mm;
}
.cte-print .cte-inline + .cte-inline { border-left:0.14mm solid #555; }
.cte-print .cte-inline span { flex:0 0 auto; font-size:3.9pt; font-weight:700; line-height:1; }
.cte-print .cte-inline b { font-size:4.9pt; line-height:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.cte-print .cte-center-column {
  display:grid;
  grid-template-rows:7mm 5.3mm 18.7mm;
}
.cte-print .cte-center-title-row {
  border-bottom:0.14mm solid #555;
  display:grid;
  grid-template-columns:64mm 25mm;
}
.cte-print .cte-title {
  align-items:center;
  border-right:0.14mm solid #555;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  overflow:hidden;
  padding:0.25mm 0.5mm;
  text-align:center;
}
.cte-print .cte-title strong { font-size:9pt; line-height:1; }
.cte-print .cte-title span { display:block; font-size:3.35pt; line-height:1.04; margin-top:0.18mm; max-width:61mm; }
.cte-print .cte-modal { align-items:center; display:flex; flex-direction:column; justify-content:center; text-align:center; }
.cte-print .cte-modal span { font-size:3.7pt; font-weight:700; line-height:1; }
.cte-print .cte-modal b { font-size:5.4pt; line-height:1.03; margin-top:0.35mm; }

.cte-print .cte-meta-row {
  border-bottom:0.14mm solid #555;
  display:grid;
  grid-template-columns:10mm 9mm 19mm 12mm 39mm;
}
.cte-print .cte-meta-row > div {
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  text-align:center;
}
.cte-print .cte-meta-row > div + div { border-left:0.14mm solid #555; }
.cte-print .cte-meta-row span { font-size:3.45pt; font-weight:700; line-height:1; }
.cte-print .cte-meta-row b { font-size:5.5pt; line-height:1.02; margin-top:0.2mm; }
.cte-print .cte-meta-issued b { font-size:4.6pt; }

.cte-print .cte-access-area {
  display:grid;
  grid-template-rows:13mm 5.7mm;
  padding:0.7mm 1.8mm 0.35mm;
}
.cte-print .cte-barcode { align-items:center; display:flex; justify-content:center; min-width:0; }
.cte-print .cte-barcode svg { height:12mm !important; width:100% !important; }
.cte-print .cte-key-line { align-items:center; display:flex; flex-direction:column; justify-content:center; text-align:center; }
.cte-print .cte-key-line span { font-size:3.2pt; line-height:1; }
.cte-print .cte-key-line strong { font-size:5.4pt; line-height:1.03; margin-top:0.18mm; white-space:nowrap; }

.cte-print .cte-qr { align-items:center; display:flex; justify-content:center; padding:0.6mm; }
.cte-print .cte-qr img { height:27mm; object-fit:contain; width:27mm; }

/* Linhas imediatamente abaixo do cabeçalho. */
.cte-print .cte-ident-row { display:grid; width:186mm; }
.cte-print .cte-ident-first { grid-template-columns:36mm 54mm 96mm; }
.cte-print .cte-ident-second { grid-template-columns:96mm 90mm; }
.cte-print .cte-ident-third { grid-template-columns:93mm 93mm; }
.cte-print .cte-box {
  border:0.14mm solid #555;
  border-top:0;
  min-height:5.3mm;
  padding:0.18mm 0.35mm;
}
.cte-print .cte-box + .cte-box { border-left:0; }
.cte-print .cte-box > span { display:block; font-size:3.55pt; font-weight:700; line-height:1.02; }
.cte-print .cte-box > b { display:block; font-size:4.8pt; line-height:1.05; margin-top:0.12mm; }
.cte-print .cte-global-choice { padding-bottom:0.1mm; }
.cte-print .cte-choice-row { align-items:center; display:flex; gap:0.55mm; margin-top:0.15mm; }
.cte-print .cte-choice-row span { font-size:4pt; font-weight:700; }
.cte-print .cte-choice-row i { align-items:center; border:0.14mm solid #555; display:inline-flex; font-size:5pt; font-style:normal; font-weight:900; height:2.4mm; justify-content:center; width:2.4mm; }

/* Remetente, destinatário, expedidor, recebedor e tomador. */
.cte-print .cte-parties { display:grid; grid-template-columns:93mm 93mm; width:186mm; }
.cte-print .cte-party { border:0.14mm solid #555; border-top:0; min-height:18mm; padding:0.2mm 0.35mm; }
.cte-print .cte-party:nth-child(even) { border-left:0; }
.cte-print .cte-party-title { align-items:baseline; display:flex; gap:0.8mm; min-height:3.2mm; }
.cte-print .cte-party-title span { font-size:3.8pt; font-weight:700; white-space:nowrap; }
.cte-print .cte-party-title strong { font-size:5.2pt; line-height:1.04; }
.cte-print .cte-party-address { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:0.35mm; min-height:4mm; }
.cte-print .cte-party-address span { font-size:3.35pt; font-weight:700; }
.cte-print .cte-party-address b { font-size:4.25pt; line-height:1.04; }
.cte-print .cte-party-meta { display:grid; grid-template-columns:1.1fr .78fr .38fr 1.15fr 1.12fr .72fr .66fr; gap:0.25mm; margin-top:0.2mm; }
.cte-print .cte-party-meta > span { font-size:3.2pt; font-weight:700; min-width:0; }
.cte-print .cte-party-meta > span b { display:block; font-size:4pt; font-weight:500; line-height:1.03; margin-top:0.08mm; overflow-wrap:anywhere; }

.cte-print .cte-party-taker { grid-column:1 / span 2; min-height:10mm; padding:0.25mm 0.35mm; }
.cte-print .cte-taker-line { align-items:baseline; display:grid; grid-template-columns:auto 1.45fr auto .6fr auto .28fr auto .55fr; gap:0.35mm; }
.cte-print .cte-taker-bottom { grid-template-columns:auto 1.4fr auto .5fr auto .75fr auto .85fr auto .55fr; margin-top:0.55mm; }
.cte-print .cte-taker-line span { font-size:3.35pt; font-weight:700; white-space:nowrap; }
.cte-print .cte-taker-line strong { font-size:5pt; }
.cte-print .cte-taker-line b { font-size:4.15pt; line-height:1.04; }

/* Carga. */
.cte-print .cte-cargo-top { display:grid; grid-template-columns:70mm 70mm 46mm; width:186mm; }
.cte-print .cte-cargo-bottom { display:grid; grid-template-columns:16mm 30mm 35mm 35mm 70mm; width:186mm; }
.cte-print .cte-cargo-top .cte-box,
.cte-print .cte-cargo-bottom .cte-box { min-height:5mm; }
.cte-print .cte-cargo-value b { text-align:right; }
.cte-print .cte-empty-box { min-height:5mm; }

/* Componentes do valor. */
.cte-print .cte-section-title {
  border:0.14mm solid #555;
  border-top:0;
  font-size:3.55pt;
  font-weight:700;
  line-height:1;
  padding:0.12mm 0.3mm;
  text-align:center;
  text-transform:uppercase;
  width:186mm;
}
.cte-print .cte-components-area { display:grid; grid-template-columns:50mm 50mm 50mm 36mm; min-height:14mm; width:186mm; }
.cte-print .cte-component-group,
.cte-print .cte-component-totals { border:0.14mm solid #555; border-top:0; }
.cte-print .cte-component-group + .cte-component-group,
.cte-print .cte-component-totals { border-left:0; }
.cte-print .cte-component-head { display:grid; grid-template-columns:1fr 18mm; }
.cte-print .cte-component-head span { font-size:3.35pt; font-weight:700; padding:0.15mm 0.25mm; }
.cte-print .cte-component-head span + span { border-left:0.14mm solid #555; text-align:center; }
.cte-print .cte-component-row { display:grid; grid-template-columns:1fr 18mm; min-height:3mm; }
.cte-print .cte-component-row span,
.cte-print .cte-component-row b { font-size:4.05pt; line-height:1.03; padding:0.12mm 0.25mm; }
.cte-print .cte-component-row b { border-left:0.14mm solid #555; font-weight:500; text-align:right; }
.cte-print .cte-component-totals { display:grid; grid-template-rows:1fr 1fr; }
.cte-print .cte-component-totals .cte-box { border:0; min-height:7mm; }
.cte-print .cte-component-totals .cte-box + .cte-box { border-top:0.14mm solid #555; }
.cte-print .cte-component-totals .cte-box > b { font-size:5pt; text-align:right; }

/* Impostos. */
.cte-print .cte-taxes { display:grid; grid-template-columns:78mm 24mm 12mm 24mm 20mm 28mm; width:186mm; }
.cte-print .cte-taxes .cte-box { min-height:7mm; }

/* Documentos originários: duas metades como no exemplo. */
.cte-print .cte-documents { border:0.14mm solid #555; border-top:0; height:41mm; width:186mm; }
.cte-print .cte-doc-table { border-collapse:collapse; table-layout:fixed; width:100%; }
.cte-print .cte-doc-table th,
.cte-print .cte-doc-table td { border-right:0.14mm solid #555; font-size:3.45pt; line-height:1.03; padding:0.12mm 0.2mm; text-align:left; vertical-align:top; }
.cte-print .cte-doc-table th { font-size:3.15pt; font-weight:700; }
.cte-print .cte-doc-table th:nth-child(1), .cte-print .cte-doc-table th:nth-child(5) { width:10mm; }
.cte-print .cte-doc-table th:nth-child(2), .cte-print .cte-doc-table th:nth-child(6) { width:31mm; }
.cte-print .cte-doc-table th:nth-child(3), .cte-print .cte-doc-table th:nth-child(7) { width:37mm; }
.cte-print .cte-doc-table th:nth-child(4), .cte-print .cte-doc-table th:nth-child(8) { width:15mm; }
.cte-print .cte-doc-table th:nth-child(4), .cte-print .cte-doc-table td:nth-child(4) { border-right:0.14mm solid #555; }
.cte-print .cte-doc-table th:last-child, .cte-print .cte-doc-table td:last-child { border-right:0; }

/* Mantém os blocos inferiores perto do fim da folha, como o exemplo. */
.cte-print .cte-flex-spacer { flex:1 1 auto; min-height:0; }
.cte-print .cte-observations { border:0.14mm solid #555; border-top:0; font-size:3.8pt; line-height:1.05; min-height:19mm; padding:0.2mm 0.3mm; width:186mm; }
.cte-print .cte-modal-details { display:grid; grid-template-columns:repeat(5,1fr); width:186mm; }
.cte-print .cte-modal-details .cte-field { border:0.14mm solid #555; border-top:0; min-height:4.8mm; padding:0.18mm 0.3mm; }
.cte-print .cte-modal-details .cte-field + .cte-field { border-left:0; }
.cte-print .cte-modal-details .cte-field > span { display:block; font-size:3.2pt; font-weight:700; }
.cte-print .cte-modal-details .cte-field > b { display:block; font-size:4.1pt; margin-top:0.08mm; }
.cte-print .cte-use { display:grid; grid-template-columns:2fr 1fr; width:186mm; }
.cte-print .cte-use .cte-box { min-height:6mm; }
.cte-print .cte-cut { border-top:0.14mm dashed #666; margin:11mm 0 0.8mm; width:186mm; }

/* Canhoto. */
.cte-print .cte-receipt { border:0.14mm solid #555; display:grid; grid-template-columns:1fr 28mm; grid-template-rows:5.2mm 6mm 6mm; width:186mm; }
.cte-print .cte-receipt > div { border-bottom:0.14mm solid #555; border-right:0.14mm solid #555; font-size:3.7pt; padding:0.18mm 0.3mm; }
.cte-print .cte-receipt > div span { display:block; font-size:3.3pt; font-weight:700; }
.cte-print .cte-receipt > div b { display:block; font-size:4.2pt; }
.cte-print .cte-receipt-declaration { grid-column:1; }
.cte-print .cte-receipt-number { grid-column:2; text-align:center; }
.cte-print .cte-receipt-name { grid-column:1; grid-row:2; }
.cte-print .cte-receipt-arrival { border-right:0 !important; grid-column:2; grid-row:2; }
.cte-print .cte-receipt-doc { grid-column:1; grid-row:3; width:30mm; }
.cte-print .cte-receipt-sign { border-left:0.14mm solid #555; grid-column:1; grid-row:3; margin-left:30mm; text-align:center; }
.cte-print .cte-receipt-departure { border-right:0 !important; grid-column:2; grid-row:3; }
.cte-print .cte-footer { font-size:3.4pt; padding-top:0.25mm; text-align:center; width:186mm; }

@media print {
  .cte-print { margin:0 !important; page:cte-page; width:190mm !important; }
  .cte-print .cte-sheet { height:277mm !important; margin:0 !important; width:190mm !important; }
}
@page cte-page { margin:10mm; size:A4 portrait; }


/* v2.04 - refinamentos: textos dentro dos retângulos e componentes do valor */
.cte-print .cte-box,
.cte-print .cte-party,
.cte-print .cte-modal-details .cte-field,
.cte-print .cte-meta-row > div,
.cte-print .cte-inline,
.cte-print .cte-taker-line > *,
.cte-print .cte-party-address > *,
.cte-print .cte-party-meta > span {
  min-width:0;
}

.cte-print .cte-box > span,
.cte-print .cte-box > b,
.cte-print .cte-party-title strong,
.cte-print .cte-party-address b,
.cte-print .cte-taker-line b,
.cte-print .cte-modal-details .cte-field > span,
.cte-print .cte-modal-details .cte-field > b,
.cte-print .cte-taxes .cte-box > span,
.cte-print .cte-taxes .cte-box > b {
  overflow-wrap:anywhere;
}

.cte-print .cte-box { min-height:5.7mm; }
.cte-print .cte-ident-first .cte-box,
.cte-print .cte-ident-second .cte-box,
.cte-print .cte-ident-third .cte-box { min-height:5.8mm; }
.cte-print .cte-taxes .cte-box { min-height:7.5mm; padding-top:0.24mm; padding-bottom:0.24mm; }
.cte-print .cte-taxes .cte-box > span { font-size:3.35pt; line-height:1.04; }
.cte-print .cte-taxes .cte-box > b { font-size:4.55pt; line-height:1.06; }

/* Componentes: grade fixa e limpa como no exemplo. */
.cte-print .cte-section-title {
  font-size:3.8pt;
  min-height:2.3mm;
  padding:0.18mm 0.3mm 0.12mm;
}
.cte-print .cte-components-area {
  grid-template-columns:50mm 50mm 50mm 36mm;
  height:15.6mm;
  min-height:15.6mm;
}
.cte-print .cte-component-group {
  display:grid;
  grid-template-rows:3.1mm 1fr;
  min-width:0;
}
.cte-print .cte-component-head {
  border-bottom:0.14mm solid #555;
  grid-template-columns:1fr 18mm;
  min-height:3.1mm;
}
.cte-print .cte-component-head span {
  align-items:center;
  display:flex;
  font-size:3.45pt;
  line-height:1;
  padding:0.12mm 0.28mm;
}
.cte-print .cte-component-head span:last-child { justify-content:center; }
.cte-print .cte-component-body {
  display:grid;
  grid-template-rows:repeat(3, 1fr);
  min-height:0;
}
.cte-print .cte-component-row {
  grid-template-columns:1fr 18mm;
  min-height:0;
}
.cte-print .cte-component-row span,
.cte-print .cte-component-row b {
  align-items:center;
  display:flex;
  font-size:4.15pt;
  line-height:1.05;
  min-width:0;
  overflow:hidden;
  padding:0.1mm 0.28mm;
}
.cte-print .cte-component-row span {
  overflow-wrap:anywhere;
}
.cte-print .cte-component-row b {
  justify-content:flex-end;
  white-space:nowrap;
}
.cte-print .cte-component-row-empty span,
.cte-print .cte-component-row-empty b { min-height:100%; }
.cte-print .cte-component-totals {
  grid-template-rows:1fr 1fr;
  height:15.6mm;
}
.cte-print .cte-component-totals .cte-box {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding:0.28mm 0.45mm;
}
.cte-print .cte-component-totals .cte-box > span {
  font-size:3.5pt;
  line-height:1.03;
}
.cte-print .cte-component-totals .cte-box > b {
  font-size:5.3pt;
  line-height:1.05;
  margin-top:0.25mm;
}


/* v2.05 - ajustes finos: campos do topo e bloco final */
.cte-print .cte-ident-first .cte-box,
.cte-print .cte-ident-second .cte-box,
.cte-print .cte-ident-third .cte-box {
  min-height:6.4mm;
  padding:0.34mm 0.45mm 0.22mm;
}
.cte-print .cte-ident-first .cte-box > span,
.cte-print .cte-ident-second .cte-box > span,
.cte-print .cte-ident-third .cte-box > span {
  font-size:3.25pt;
  line-height:1.08;
  margin-bottom:0.18mm;
}
.cte-print .cte-ident-first .cte-box > b,
.cte-print .cte-ident-second .cte-box > b,
.cte-print .cte-ident-third .cte-box > b {
  font-size:4.6pt;
  line-height:1.08;
  margin-top:0.06mm;
}
.cte-print .cte-global-choice {
  padding-bottom:0.26mm;
}
.cte-print .cte-global-choice .cte-choice-row {
  margin-top:0.38mm;
  gap:0.85mm;
}
.cte-print .cte-global-choice .cte-choice-row span {
  font-size:5pt;
  line-height:1;
}
.cte-print .cte-global-choice .cte-choice-row i {
  width:2.8mm;
  height:2.8mm;
  font-size:5.3pt;
}

/* bloco final mais limpo e proporcional */
.cte-print .cte-flex-spacer {
  flex:0 0 2.6mm;
}
.cte-print .cte-observations {
  min-height:12.5mm;
  padding:0.32mm 0.4mm;
  font-size:3.95pt;
  line-height:1.07;
}
.cte-print .cte-modal-details .cte-field {
  min-height:6.2mm;
  padding:0.26mm 0.36mm;
}
.cte-print .cte-modal-details .cte-field > span {
  font-size:3.3pt;
  line-height:1.05;
}
.cte-print .cte-modal-details .cte-field > b {
  font-size:4.25pt;
  line-height:1.08;
  margin-top:0.14mm;
}
.cte-print .cte-use .cte-box {
  min-height:7.4mm;
  padding-top:0.26mm;
  padding-bottom:0.24mm;
}
.cte-print .cte-use .cte-box > span {
  font-size:3.35pt;
  line-height:1.05;
}
.cte-print .cte-use .cte-box > b {
  font-size:4.15pt;
  line-height:1.08;
  margin-top:0.12mm;
}
.cte-print .cte-cut {
  margin:2.4mm 0 0.8mm;
}


/* v2.06 - texto mais dentro dos retângulos e linha final completa */
.cte-print .cte-ident-first .cte-box,
.cte-print .cte-ident-second .cte-box,
.cte-print .cte-ident-third .cte-box {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.cte-print .cte-ident-first .cte-box {
  min-height:7.1mm;
  padding:0.55mm 0.48mm 0.3mm;
}
.cte-print .cte-ident-second .cte-box,
.cte-print .cte-ident-third .cte-box {
  min-height:6.8mm;
  padding:0.48mm 0.48mm 0.28mm;
}
.cte-print .cte-ident-first .cte-box > span,
.cte-print .cte-ident-second .cte-box > span,
.cte-print .cte-ident-third .cte-box > span {
  line-height:1.08;
  margin-bottom:0.18mm;
}
.cte-print .cte-ident-first .cte-box > b,
.cte-print .cte-ident-second .cte-box > b,
.cte-print .cte-ident-third .cte-box > b {
  line-height:1.08;
  margin-top:0;
}
.cte-print .cte-global-choice {
  justify-content:flex-start;
}
.cte-print .cte-global-choice .cte-choice-row {
  margin-top:0.5mm;
  align-items:center;
}
.cte-print .cte-key-line {
  padding-top:0.22mm;
}

.cte-print .cte-flex-spacer {
  flex:0 0 1.2mm;
}
.cte-print .cte-observations {
  min-height:11.8mm;
}
.cte-print .cte-modal-details {
  margin-top:0;
}
.cte-print .cte-modal-details .cte-field {
  min-height:6.6mm;
}
.cte-print .cte-modal-details .cte-field > span,
.cte-print .cte-modal-details .cte-field > b {
  overflow-wrap:anywhere;
}
.cte-print .cte-use {
  margin-top:0;
}


/* v2.07 - títulos mais afastados da borda e linha final completa */
.cte-print .cte-box > span,
.cte-print .cte-modal-details .cte-field > span,
.cte-print .cte-use .cte-box > span,
.cte-print .cte-section-title {
  padding-top:0.22mm;
}
.cte-print .cte-ident-first .cte-box {
  min-height:7.6mm;
  padding:0.75mm 0.5mm 0.32mm;
}
.cte-print .cte-ident-second .cte-box,
.cte-print .cte-ident-third .cte-box {
  min-height:7.2mm;
  padding:0.62mm 0.5mm 0.3mm;
}
.cte-print .cte-ident-first .cte-box > span,
.cte-print .cte-ident-second .cte-box > span,
.cte-print .cte-ident-third .cte-box > span {
  line-height:1.1;
  margin-bottom:0.24mm;
}
.cte-print .cte-ident-first .cte-box > b,
.cte-print .cte-ident-second .cte-box > b,
.cte-print .cte-ident-third .cte-box > b {
  line-height:1.1;
}
.cte-print .cte-choice-row {
  margin-top:0.62mm;
}
.cte-print .cte-key-line {
  padding-top:0.35mm;
}
.cte-print .cte-flex-spacer {
  flex:0 0 0.45mm;
}
.cte-print .cte-section-title {
  padding:0.3mm 0.32mm 0.16mm;
  min-height:2.7mm;
}
.cte-print .cte-observations {
  min-height:10.8mm;
  padding:0.34mm 0.42mm;
}
.cte-print .cte-modal-details .cte-field {
  min-height:7mm;
  padding:0.38mm 0.4mm 0.28mm;
}
.cte-print .cte-modal-details .cte-field > span {
  line-height:1.08;
  margin-bottom:0.18mm;
}
.cte-print .cte-modal-details .cte-field > b {
  line-height:1.08;
}
.cte-print .cte-modal-details .cte-field-empty > span,
.cte-print .cte-modal-details .cte-field-empty > b {
  color:transparent;
}
.cte-print .cte-use .cte-box {
  min-height:7.8mm;
  padding:0.4mm 0.42mm 0.28mm;
}


/* v2.09 - final da folha conforme o exemplo */
.cte-print .cte-documents {
  border:0.14mm solid #555;
  border-top:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  width:186mm;
  height:33mm;
}
.cte-print .cte-doc-half {
  display:grid;
  grid-template-rows:4.2mm 1fr;
}
.cte-print .cte-doc-half + .cte-doc-half {
  border-left:0.14mm solid #555;
}
.cte-print .cte-doc-head {
  display:grid;
  grid-template-columns:10mm 31mm 38mm 13mm;
  align-items:center;
  border-bottom:0.14mm solid #555;
  padding:0 0.2mm;
}
.cte-print .cte-doc-head span {
  font-size:3.15pt;
  font-weight:700;
  line-height:1.02;
}
.cte-print .cte-doc-body {
  position:relative;
  padding:0.22mm 0.18mm;
  overflow:hidden;
}
.cte-print .cte-doc-item {
  display:grid;
  grid-template-columns:10mm 31mm 38mm 13mm;
  align-items:start;
  margin-bottom:0.18mm;
}
.cte-print .cte-doc-item span {
  font-size:3.5pt;
  line-height:1.04;
}
.cte-print .cte-observations {
  min-height:9.2mm;
  max-height:9.2mm;
  overflow:hidden;
}
.cte-print .cte-modal-details .cte-field {
  min-height:5.8mm;
}
.cte-print .cte-use .cte-box {
  min-height:6mm;
}
.cte-print .cte-final-spacer {
  flex:1 1 auto;
  min-height:18mm;
}
.cte-print .cte-cut {
  margin:0 0 0.8mm;
  border-top:0.12mm dashed #666;
}

/* v2.33 - DACTE: legibilidade maior e documentos originários mais claros. */
.cte-print .cte-emitter b { font-size:6.35pt; }
.cte-print .cte-emitter p { font-size:5pt; }
.cte-print .cte-emitter small { font-size:4.75pt; }
.cte-print .cte-inline span { font-size:4.2pt; }
.cte-print .cte-inline b { font-size:5.25pt; }
.cte-print .cte-title span { font-size:3.7pt; }
.cte-print .cte-modal span { font-size:4pt; }
.cte-print .cte-modal b { font-size:5.75pt; }
.cte-print .cte-meta-row span { font-size:3.75pt; }
.cte-print .cte-meta-row b { font-size:5.8pt; }
.cte-print .cte-meta-issued b { font-size:4.95pt; }
.cte-print .cte-key-line span { font-size:3.55pt; }
.cte-print .cte-key-line strong { font-size:5.7pt; }
.cte-print .cte-box > span { font-size:3.85pt; }
.cte-print .cte-box > b { font-size:5.1pt; }
.cte-print .cte-party-title span { font-size:4.05pt; }
.cte-print .cte-party-title strong { font-size:5.5pt; }
.cte-print .cte-party-address span { font-size:3.65pt; }
.cte-print .cte-party-address b { font-size:4.6pt; }
.cte-print .cte-party-meta > span { font-size:3.5pt; }
.cte-print .cte-party-meta > span b { font-size:4.35pt; }
.cte-print .cte-taker-line span { font-size:3.65pt; }
.cte-print .cte-taker-line strong { font-size:5.35pt; }
.cte-print .cte-taker-line b { font-size:4.5pt; }
.cte-print .cte-section-title { font-size:4.15pt; }
.cte-print .cte-component-head span { font-size:3.8pt; }
.cte-print .cte-component-row span,
.cte-print .cte-component-row b { font-size:4.5pt; }
.cte-print .cte-component-totals .cte-box > span { font-size:3.8pt; }
.cte-print .cte-component-totals .cte-box > b { font-size:5.55pt; }
.cte-print .cte-taxes .cte-box > span { font-size:3.65pt; }
.cte-print .cte-taxes .cte-box > b { font-size:4.9pt; }
.cte-print .cte-doc-half { grid-template-rows:4.8mm 1fr; }
.cte-print .cte-doc-head span { font-size:3.75pt; line-height:1.05; }
.cte-print .cte-doc-item { margin-bottom:0.3mm; }
.cte-print .cte-doc-item span {
  font-size:4.15pt;
  line-height:1.08;
  min-width:0;
  overflow-wrap:anywhere;
  padding-right:0.25mm;
}
.cte-print .cte-observations { font-size:4.3pt; line-height:1.08; }
.cte-print .cte-modal-details .cte-field > span { font-size:3.65pt; }
.cte-print .cte-modal-details .cte-field > b { font-size:4.55pt; }
.cte-print .cte-use .cte-box > span { font-size:3.7pt; }
.cte-print .cte-use .cte-box > b { font-size:4.5pt; }
.cte-print .cte-receipt > div { font-size:4.05pt; }
.cte-print .cte-receipt > div span { font-size:3.65pt; }
.cte-print .cte-receipt > div b { font-size:4.55pt; }
.cte-print .cte-footer { font-size:3.7pt; }


/* v2.34 - DACTE: fonte realmente maior, mantendo DANFE intocado. */
.cte-print .cte-emitter b { font-size:7.2pt; }
.cte-print .cte-emitter p { font-size:5.8pt; line-height:1.08; }
.cte-print .cte-emitter small { font-size:5.5pt; line-height:1.08; }
.cte-print .cte-inline span { font-size:4.9pt; }
.cte-print .cte-inline b { font-size:6.15pt; }
.cte-print .cte-title span { font-size:4.6pt; line-height:1.08; }
.cte-print .cte-modal span { font-size:4.8pt; }
.cte-print .cte-modal b { font-size:6.5pt; }
.cte-print .cte-meta-row span { font-size:4.55pt; }
.cte-print .cte-meta-row b { font-size:6.5pt; }
.cte-print .cte-meta-issued b { font-size:5.65pt; }
.cte-print .cte-key-line span { font-size:4.25pt; }
.cte-print .cte-key-line strong { font-size:6.25pt; }
.cte-print .cte-box > span { font-size:4.65pt; line-height:1.05; }
.cte-print .cte-box > b { font-size:6.15pt; line-height:1.08; }
.cte-print .cte-choice-row span { font-size:4.9pt; }
.cte-print .cte-party-title span { font-size:4.8pt; }
.cte-print .cte-party-title strong { font-size:6.35pt; line-height:1.07; }
.cte-print .cte-party-address span { font-size:4.35pt; }
.cte-print .cte-party-address b { font-size:5.55pt; line-height:1.07; }
.cte-print .cte-party-meta > span { font-size:4.1pt; }
.cte-print .cte-party-meta > span b { font-size:5.15pt; line-height:1.06; }
.cte-print .cte-taker-line span { font-size:4.35pt; }
.cte-print .cte-taker-line strong { font-size:6.25pt; }
.cte-print .cte-taker-line b { font-size:5.35pt; }
.cte-print .cte-section-title { font-size:5.25pt; line-height:1.05; }
.cte-print .cte-component-head span { font-size:4.7pt; }
.cte-print .cte-component-row span,
.cte-print .cte-component-row b { font-size:5.55pt; line-height:1.08; }
.cte-print .cte-component-totals .cte-box > span { font-size:4.6pt; }
.cte-print .cte-component-totals .cte-box > b { font-size:6.25pt; }
.cte-print .cte-taxes .cte-box > span { font-size:4.45pt; }
.cte-print .cte-taxes .cte-box > b { font-size:5.75pt; }
.cte-print .cte-doc-head span { font-size:4.7pt; line-height:1.05; }
.cte-print .cte-doc-item span { font-size:5.35pt; line-height:1.1; }
.cte-print .cte-observations { font-size:5.35pt; line-height:1.1; }
.cte-print .cte-modal-details .cte-field > span { font-size:4.5pt; }
.cte-print .cte-modal-details .cte-field > b { font-size:5.45pt; }
.cte-print .cte-use .cte-box > span { font-size:4.5pt; }
.cte-print .cte-use .cte-box > b { font-size:5.4pt; }
.cte-print .cte-receipt > div { font-size:4.9pt; }
.cte-print .cte-receipt > div span { font-size:4.45pt; }
.cte-print .cte-receipt > div b { font-size:5.4pt; }
.cte-print .cte-footer { font-size:4.5pt; }
.cte-print .cte-final-spacer { min-height:10mm; }


/* v2.36 - Documentos Originários: chave completa + número da NF-e abaixo. */
.cte-print .cte-doc-item { margin-bottom:0.7mm; }
.cte-print .cte-doc-item > span { font-size:5.45pt; line-height:1.12; }
.cte-print .cte-doc-reference { display:flex; flex-direction:column; gap:0.22mm; min-width:0; }
.cte-print .cte-doc-reference small { display:block; font-size:4.55pt; font-weight:700; line-height:1.05; }
.cte-print .cte-doc-access-key { display:block; font-family:monospace; font-size:5.05pt !important; font-weight:600; line-height:1.12 !important; overflow-wrap:anywhere; }
.cte-print .cte-doc-nfe-number { display:block; font-size:6.1pt; font-weight:900; line-height:1.08; margin-top:0.25mm; }

/* v2.37 - NF-e de referência: chave de acesso completa em uma única linha. */
.cte-print .cte-doc-access-key {
  display:block;
  max-width:100%;
  font-family:monospace;
  font-size:2.95pt !important;
  font-weight:600;
  letter-spacing:-0.015mm;
  line-height:1.08 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
/* Mantém o número da NF-e destacado como aprovado. */
.cte-print .cte-doc-nfe-number {
  font-size:6.1pt;
  font-weight:900;
}


/* v2.38 - NF-e de referência: chave maior, inteira e sem quebra. */
.cte-print .cte-doc-head,
.cte-print .cte-doc-item {
  grid-template-columns:10mm 27mm 44mm 11mm;
}
.cte-print .cte-doc-access-key {
  display:block;
  max-width:100%;
  font-family:monospace;
  font-size:4.35pt !important;
  font-weight:700;
  letter-spacing:-0.02mm;
  line-height:1.08 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.cte-print .cte-doc-nfe-number {
  font-size:6.1pt;
  font-weight:900;
}
\n\n/* v2.45 - DACTE: revisão de legibilidade e espaçamento solicitada. */\n.cte-print,\n.cte-print * {\n  font-family:Arial,Helvetica,sans-serif !important;\n}\n\n/* Cabeçalho e títulos dos retângulos. */\n.cte-print .cte-emitter-column { grid-template-rows:23.4mm 7.6mm; }\n.cte-print .cte-types-row { min-height:7.6mm; }\n.cte-print .cte-inline { padding:0.45mm 0.48mm; }\n.cte-print .cte-inline span { font-size:5.35pt; line-height:1.05; }\n.cte-print .cte-inline b { font-size:6.4pt; line-height:1.08; }\n.cte-print .cte-meta-row span { font-size:4.9pt; }\n.cte-print .cte-meta-row b { font-size:6.65pt; }\n.cte-print .cte-title span { font-size:4.9pt; }\n.cte-print .cte-modal span { font-size:5.1pt; }\n\n/* O bloco Indicador do CT-e Globalizado fica com a mesma largura e altura do bloco Tipo do CT-e. */\n.cte-print .cte-ident-first { grid-template-columns:34mm 56mm 96mm; }\n.cte-print .cte-ident-first .cte-box { min-height:7.6mm; }\n.cte-print .cte-ident-second .cte-box { min-height:7.8mm; }\n.cte-print .cte-ident-third .cte-box { min-height:9mm; }\n.cte-print .cte-ident-first .cte-box > span,\n.cte-print .cte-ident-second .cte-box > span,\n.cte-print .cte-ident-third .cte-box > span {\n  font-size:5.1pt;\n  line-height:1.08;\n}\n.cte-print .cte-ident-first .cte-box > b,\n.cte-print .cte-ident-second .cte-box > b,\n.cte-print .cte-ident-third .cte-box > b {\n  font-size:6.45pt;\n  line-height:1.1;\n}\n.cte-print .cte-global-choice .cte-choice-row {\n  justify-content:flex-end;\n  gap:0.9mm;\n  margin-top:0.7mm;\n  width:100%;\n}\n.cte-print .cte-global-choice .cte-choice-row span { font-size:5.3pt; }\n.cte-print .cte-global-choice .cte-choice-row i {\n  height:3.6mm;\n  width:3.6mm;\n  font-size:6.4pt;\n  border-width:0.18mm;\n}\n.cte-print .cte-ident-third .cte-box > b {\n  margin-top:auto;\n  padding-bottom:0.3mm;\n}\n\n/* Remetente e destinatário: fonte maior, sem cortar palavras; se necessário o nome desce inteiro. */\n.cte-print .cte-party-title {\n  align-items:flex-start;\n  flex-wrap:wrap;\n  min-height:4.4mm;\n  row-gap:0.45mm;\n}\n.cte-print .cte-party-title span { font-size:5.15pt; line-height:1.08; }\n.cte-print .cte-party-title strong {\n  font-size:6.85pt;\n  line-height:1.1;\n  max-width:100%;\n  white-space:normal;\n  overflow-wrap:normal;\n  word-break:normal;\n}\n.cte-print .cte-party-address span { font-size:4.65pt; }\n.cte-print .cte-party-address b { font-size:5.75pt; }\n.cte-print .cte-party-meta > span { font-size:4.35pt; }\n.cte-print .cte-party-meta > span b { font-size:5.35pt; }\n\n/* Tomador: cria respiro entre títulos e resultados. */\n.cte-print .cte-party-taker { min-height:12.5mm; padding:0.5mm 0.5mm; }\n.cte-print .cte-taker-line {\n  column-gap:0.55mm;\n  min-height:4.6mm;\n  row-gap:0.4mm;\n}\n.cte-print .cte-taker-bottom { margin-top:1.05mm; }\n.cte-print .cte-taker-line span { font-size:4.6pt; }\n.cte-print .cte-taker-line strong { font-size:6.55pt; }\n.cte-print .cte-taker-line b { font-size:5.55pt; padding-top:0.2mm; }\n\n/* Componentes: NOME e VALOR R$ no mesmo retângulo, sem divisão vertical interna. */\n.cte-print .cte-component-head span + span,\n.cte-print .cte-component-row b { border-left:0 !important; }\n.cte-print .cte-component-head span { font-size:5pt; }\n.cte-print .cte-component-row span,\n.cte-print .cte-component-row b { font-size:5.7pt; }\n.cte-print .cte-component-totals .cte-box {\n  justify-content:flex-start !important;\n  padding-top:0.38mm;\n}\n.cte-print .cte-component-totals .cte-box > span {\n  font-size:4.9pt;\n  margin-top:0;\n}\n.cte-print .cte-component-totals .cte-box > b {\n  font-size:6.4pt;\n  margin-top:auto;\n  padding-bottom:0.35mm;\n}\n\n/* Impostos: resultado mais abaixo e mais legível. */\n.cte-print .cte-taxes .cte-box { min-height:9.2mm; padding:0.45mm 0.5mm 0.35mm; }\n.cte-print .cte-taxes .cte-box > span { font-size:4.8pt; line-height:1.08; }\n.cte-print .cte-taxes .cte-box > b { font-size:6.15pt; line-height:1.12; margin-top:1.15mm; }\n.cte-print .cte-taxes .cte-box:first-child > b { font-size:6.05pt; margin-top:1.25mm; }\n.cte-print .cte-taxes .cte-box:nth-child(3) > b { font-size:6.55pt; margin-top:1.45mm; }\n.cte-print .cte-taxes .cte-box:nth-child(4) > b {\n  font-size:6.9pt;\n  margin-top:1.45mm;\n  text-align:right;\n  padding-right:0.35mm;\n}\n\n/* Documentos originários / notas referenciadas. */\n.cte-print .cte-documents { height:37mm; }\n.cte-print .cte-doc-half { grid-template-rows:5.2mm 1fr; }\n.cte-print .cte-doc-head { grid-template-columns:10mm 27mm 44mm 11mm; }\n.cte-print .cte-doc-head span { font-size:4.9pt; line-height:1.08; }\n.cte-print .cte-doc-item {\n  display:block;\n  margin-bottom:1.05mm;\n  padding:0.25mm 0.15mm 0.35mm;\n}\n.cte-print .cte-doc-main {\n  display:grid;\n  grid-template-columns:10mm 27mm 44mm 11mm;\n  align-items:start;\n}\n.cte-print .cte-doc-main > span {\n  font-size:5.35pt;\n  line-height:1.1;\n  min-width:0;\n  padding-right:0.28mm;\n}\n.cte-print .cte-doc-value {\n  font-size:5.8pt !important;\n  font-weight:700;\n  text-align:right;\n  padding-right:0.3mm !important;\n}\n.cte-print .cte-doc-keyline {\n  align-items:baseline;\n  display:flex;\n  gap:0.9mm;\n  margin-top:1.35mm;\n  padding-top:0.35mm;\n  width:100%;\n}\n.cte-print .cte-doc-keyline small {\n  flex:0 0 auto;\n  font-size:4.8pt;\n  font-weight:700;\n  line-height:1.08;\n}\n.cte-print .cte-doc-access-key {\n  display:block;\n  flex:1 1 auto;\n  font-family:Arial,Helvetica,sans-serif !important;\n  font-size:5.45pt !important;\n  font-weight:700;\n  letter-spacing:-0.025mm;\n  line-height:1.08 !important;\n  white-space:nowrap !important;\n  overflow-wrap:normal !important;\n  word-break:normal !important;\n}\n\n/* Observações: título e conteúdo maiores, com três linhas extras de área em branco. */\n.cte-print .cte-observations-title {\n  font-size:5.95pt;\n  min-height:3.2mm;\n  padding-top:0.45mm;\n}\n.cte-print .cte-observations {\n  min-height:17.5mm;\n  max-height:17.5mm;\n  font-size:5.85pt;\n  line-height:1.18;\n  padding:0.65mm 0.55mm 7mm;\n}\n\n/* Modal rodoviário: RNTRC ocupa a linha toda. */\n.cte-print .cte-modal-road {\n  display:block;\n  width:186mm;\n}\n.cte-print .cte-modal-road .cte-field-rntrc {\n  border:0.14mm solid #555;\n  border-top:0;\n  min-height:7.5mm;\n  width:186mm;\n  padding:0.5mm 0.55mm;\n}\n.cte-print .cte-modal-road .cte-field-rntrc > span { font-size:5pt; }\n.cte-print .cte-modal-road .cte-field-rntrc > b { font-size:6.5pt; margin-top:0.8mm; }\n\n/* Uso do emissor e reservado ao fisco: áreas de escrita vazias e maiores. */\n.cte-print .cte-use { grid-template-columns:2fr 1fr; }\n.cte-print .cte-use .cte-box {\n  min-height:11.5mm;\n  padding:0.55mm 0.55mm 0.4mm;\n}\n.cte-print .cte-use .cte-box > span { font-size:5pt; line-height:1.08; }\n.cte-print .cte-use .cte-box > b {\n  font-size:5.65pt;\n  line-height:1.12;\n  margin-top:2mm;\n  min-height:5mm;\n}\n\n/* Mantém espaço vazio antes do rodapé e aumenta a legibilidade do rodapé. */\n.cte-print .cte-final-spacer { min-height:15mm; }\n.cte-print .cte-footer { font-size:5.15pt; padding-top:0.45mm; }\n
/* v2.45.1 - equalização final dos blocos Tipo do CT-e / Indicador Globalizado. */
.cte-print .cte-emitter-column { grid-template-rows:22mm 9mm; }
.cte-print .cte-types-row { min-height:9mm; }
.cte-print .cte-ident-first .cte-box { min-height:9mm; }
.cte-print .cte-doc-reference { display:block !important; }


/* v2.46 - DACTE: correções finais conforme revisão visual. */
.cte-print,
.cte-print * {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* DACTE: sobe o significado e evita que o texto desça demais. */
.cte-print .cte-title {
  justify-content: flex-start !important;
  padding-top: 0.34mm !important;
}
.cte-print .cte-title strong {
  font-size: 9pt !important;
  line-height: 0.95 !important;
  margin: 0 !important;
}
.cte-print .cte-title span {
  font-size: 4.75pt !important;
  line-height: 0.96 !important;
  margin-top: 0.05mm !important;
  transform: translateY(-0.22mm);
}

/* TIPO DO CT-e e INDICADOR DO CT-e GLOBALIZADO: exatamente 34 x 9 mm. */
.cte-print .cte-emitter-column {
  grid-template-rows: 22mm 9mm !important;
}
.cte-print .cte-types-row {
  height: 9mm !important;
  min-height: 9mm !important;
}
.cte-print .cte-types-row .cte-inline:first-child {
  height: 9mm !important;
  width: 34mm !important;
}
.cte-print .cte-ident-first {
  grid-template-columns: 34mm 56mm 96mm !important;
}
.cte-print .cte-ident-first .cte-global-choice {
  box-sizing: border-box !important;
  height: 9mm !important;
  min-height: 9mm !important;
  position: relative !important;
  padding: 0.45mm 0.5mm !important;
}
.cte-print .cte-global-choice > span {
  display: block !important;
  font-size: 4.95pt !important;
  line-height: 1.02 !important;
  max-width: 18.5mm !important;
}
.cte-print .cte-global-choice .cte-choice-row {
  align-items: center !important;
  display: flex !important;
  gap: 0.75mm !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  position: absolute !important;
  right: 0.75mm !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
}
.cte-print .cte-global-choice .cte-choice-row span {
  font-size: 5.05pt !important;
  line-height: 1 !important;
}
.cte-print .cte-global-choice .cte-choice-row i {
  height: 3.35mm !important;
  width: 3.35mm !important;
  font-size: 6.1pt !important;
  border-width: 0.18mm !important;
}

/* Componentes: NOME e VALOR dentro do mesmo retângulo, sem divisor vertical. */
.cte-print .cte-component-head,
.cte-print .cte-component-row {
  grid-template-columns: 1fr auto !important;
}
.cte-print .cte-component-head span + span,
.cte-print .cte-component-row b {
  border-left: 0 !important;
}
.cte-print .cte-component-head span:first-child,
.cte-print .cte-component-row span {
  padding-left: 0.45mm !important;
}
.cte-print .cte-component-head span:last-child,
.cte-print .cte-component-row b {
  justify-content: flex-end !important;
  padding-right: 0.6mm !important;
  text-align: right !important;
}
.cte-print .cte-component-head span {
  font-size: 5.05pt !important;
}
.cte-print .cte-component-row span,
.cte-print .cte-component-row b {
  font-size: 5.75pt !important;
}

/* Situação tributária: uma linha de respiro entre o título e o resultado. */
.cte-print .cte-taxes .cte-box {
  min-height: 10.2mm !important;
  padding: 0.5mm 0.5mm 0.4mm !important;
}
.cte-print .cte-taxes .cte-box > span {
  font-size: 4.85pt !important;
  line-height: 1.05 !important;
}
.cte-print .cte-taxes .cte-box > b {
  font-size: 6.2pt !important;
  line-height: 1.1 !important;
  margin-top: 1.6mm !important;
}
.cte-print .cte-taxes .cte-box:first-child > b {
  font-size: 6.15pt !important;
  margin-top: 1.75mm !important;
}
.cte-print .cte-taxes .cte-box:nth-child(3) > b {
  font-size: 6.6pt !important;
  margin-top: 1.75mm !important;
}
.cte-print .cte-taxes .cte-box:nth-child(4) > b {
  font-size: 7pt !important;
  margin-top: 1.75mm !important;
  padding-right: 0.35mm !important;
  text-align: right !important;
}

/* Documentos originários: uma tabela de largura total e a chave em uma linha separada. */
.cte-print .cte-documents {
  display: block !important;
  height: 37mm !important;
  width: 186mm !important;
}
.cte-print .cte-doc-full {
  display: grid !important;
  grid-template-rows: 5.4mm 1fr !important;
  height: 100% !important;
  width: 100% !important;
}
.cte-print .cte-doc-half,
.cte-print .cte-doc-half + .cte-doc-half {
  border: 0 !important;
}
.cte-print .cte-doc-head,
.cte-print .cte-doc-main {
  display: grid !important;
  grid-template-columns: 18mm 55mm 72mm 41mm !important;
  width: 186mm !important;
}
.cte-print .cte-doc-head {
  align-items: center !important;
  border-bottom: 0.14mm solid #555 !important;
  padding: 0 !important;
}
.cte-print .cte-doc-head span {
  font-size: 5.15pt !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  padding: 0 0.45mm !important;
}
.cte-print .cte-doc-head span + span,
.cte-print .cte-doc-main > span + span {
  border-left: 0.14mm solid #555 !important;
}
.cte-print .cte-doc-body {
  overflow: hidden !important;
  padding: 0 !important;
}
.cte-print .cte-doc-item {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cte-print .cte-doc-main {
  min-height: 5.2mm !important;
}
.cte-print .cte-doc-main > span {
  align-items: center !important;
  display: flex !important;
  font-size: 6pt !important;
  line-height: 1.08 !important;
  padding: 0.55mm 0.45mm 0.35mm !important;
  white-space: nowrap !important;
}
.cte-print .cte-doc-value {
  font-size: 6.2pt !important;
  font-weight: 700 !important;
  justify-content: flex-end !important;
  padding-right: 0.65mm !important;
  text-align: right !important;
}
.cte-print .cte-doc-keyline {
  align-items: baseline !important;
  display: flex !important;
  gap: 1.1mm !important;
  margin-top: 1.65mm !important;
  padding: 0.45mm 0.55mm 0 !important;
  width: 186mm !important;
}
.cte-print .cte-doc-keyline small {
  flex: 0 0 auto !important;
  font-size: 5.7pt !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}
.cte-print .cte-doc-access-key {
  display: block !important;
  flex: 1 1 auto !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 6.25pt !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* RNTRC: rótulo e número na mesma linha; o restante do retângulo fica em branco. */
.cte-print .cte-modal-road {
  display: block !important;
  width: 186mm !important;
}
.cte-print .cte-modal-road .cte-field-rntrc {
  align-items: center !important;
  border: 0.14mm solid #555 !important;
  border-top: 0 !important;
  display: flex !important;
  gap: 0.8mm !important;
  min-height: 6.8mm !important;
  padding: 0.5mm 0.6mm !important;
  width: 186mm !important;
}
.cte-print .cte-modal-road .cte-field-rntrc > span {
  display: inline !important;
  flex: 0 0 auto !important;
  font-size: 5.2pt !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.cte-print .cte-modal-road .cte-field-rntrc > b {
  display: inline !important;
  flex: 0 0 auto !important;
  font-size: 6.55pt !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Uso exclusivo / reservado: dois retângulos na mesma linha, com interior livre. */
.cte-print .cte-use {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  width: 186mm !important;
}
.cte-print .cte-use .cte-box {
  min-height: 11mm !important;
  padding: 0.55mm 0.6mm 0.4mm !important;
}
.cte-print .cte-use .cte-box > span {
  font-size: 5.15pt !important;
  line-height: 1.05 !important;
}
.cte-print .cte-use .cte-box > b {
  display: block !important;
  font-size: 5.7pt !important;
  line-height: 1.08 !important;
  margin-top: 2mm !important;
  min-height: 5.2mm !important;
}

/* Mantém uma faixa vazia antes do canhoto/rodapé. */
.cte-print .cte-final-spacer {
  flex: 1 1 auto !important;
  min-height: 14mm !important;
}
.cte-print .cte-footer {
  font-size: 5.2pt !important;
  padding-top: 0.5mm !important;
}


/* v2.47 - Documentos originários: uma nota completa por bloco, duas metades lado a lado. */
.cte-print .cte-documents {
  display:grid !important;
  grid-template-columns:93mm 93mm !important;
  height:37mm !important;
  width:186mm !important;
}
.cte-print .cte-doc-full { display:none !important; }
.cte-print .cte-doc-half {
  display:grid !important;
  grid-template-rows:5.4mm 1fr !important;
  min-width:0 !important;
}
.cte-print .cte-doc-half + .cte-doc-half {
  border-left:0.14mm solid #555 !important;
}
.cte-print .cte-doc-half .cte-doc-head,
.cte-print .cte-doc-half .cte-doc-main {
  display:grid !important;
  grid-template-columns:9mm 29mm 31mm 24mm !important;
  width:93mm !important;
}
.cte-print .cte-doc-half .cte-doc-head {
  align-items:center !important;
  border-bottom:0.14mm solid #555 !important;
}
.cte-print .cte-doc-half .cte-doc-head span {
  font-size:4.35pt !important;
  font-weight:700 !important;
  line-height:1.02 !important;
  padding:0 0.3mm !important;
  white-space:nowrap !important;
}
.cte-print .cte-doc-half .cte-doc-head span + span,
.cte-print .cte-doc-half .cte-doc-main > span + span {
  border-left:0 !important;
}
.cte-print .cte-doc-half .cte-doc-body {
  overflow:hidden !important;
  padding:0 !important;
}
.cte-print .cte-doc-half .cte-doc-item {
  display:block !important;
  margin:0 !important;
  padding:0.25mm 0 0 !important;
}
.cte-print .cte-doc-half .cte-doc-main {
  min-height:5mm !important;
  align-items:start !important;
}
.cte-print .cte-doc-half .cte-doc-main > span {
  display:block !important;
  font-size:5.45pt !important;
  line-height:1.08 !important;
  min-width:0 !important;
  padding:0.45mm 0.3mm 0.25mm !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
.cte-print .cte-doc-half .cte-doc-value {
  font-size:5.55pt !important;
  font-weight:700 !important;
  text-align:right !important;
  padding-right:0.45mm !important;
}
.cte-print .cte-doc-half .cte-doc-keyline {
  align-items:baseline !important;
  display:flex !important;
  gap:0.7mm !important;
  margin-top:1.4mm !important;
  padding:0.4mm 0.4mm 0 !important;
  width:93mm !important;
}
.cte-print .cte-doc-half .cte-doc-keyline small {
  flex:0 0 auto !important;
  font-size:4.65pt !important;
  font-weight:700 !important;
  line-height:1.05 !important;
}
.cte-print .cte-doc-half .cte-doc-access-key {
  display:block !important;
  flex:1 1 auto !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:4.65pt !important;
  font-weight:700 !important;
  letter-spacing:-0.025mm !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}


/* v67: ajuste do canhoto do CT-e conforme solicitação.
   - inclui CNPJ e Empresa na declaração
   - nome completo e CPF/RG/DOC com o mesmo tamanho
   - assinatura/carimbo mais acima */
.cte-print .cte-receipt {
  grid-template-columns: 31mm 1fr 28mm;
  grid-template-rows: 5.2mm 6mm 6mm;
}

.cte-print .cte-receipt-declaration {
  grid-column: 1 / 3;
  font-size: 3.45pt;
  line-height: 1.08;
}

.cte-print .cte-receipt-declaration b {
  display: inline;
  font-size: inherit;
  font-weight: 700;
}

.cte-print .cte-receipt-number {
  border-right: 0 !important;
  grid-column: 3;
  text-align: center;
}

.cte-print .cte-receipt-name {
  grid-column: 1;
  grid-row: 2;
}

.cte-print .cte-receipt-name-fill {
  grid-column: 2;
  grid-row: 2;
}

.cte-print .cte-receipt-arrival {
  border-right: 0 !important;
  grid-column: 3;
  grid-row: 2;
}

.cte-print .cte-receipt-doc {
  grid-column: 1;
  grid-row: 3;
  width: auto;
}

.cte-print .cte-receipt-sign {
  align-items: flex-start;
  border-left: 0;
  display: flex;
  grid-column: 2;
  grid-row: 3;
  justify-content: center;
  margin-left: 0;
  text-align: center;
}

.cte-print .cte-receipt-sign span {
  padding-top: 0.45mm;
}

.cte-print .cte-receipt-departure {
  border-right: 0 !important;
  grid-column: 3;
  grid-row: 3;
}
