/* ============================================================
   carteira.css â€” Carteira Â· Couto Engenharia
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --carteira-fonte-sistema: 'Inter', sans-serif;
  --carteira-shell-mobile: 400px;
  --carteira-shell-desktop: 810px;
  --carteira-shell-wide: 850px;
  --carteira-header-wide: 870px;
  --carteira-col-left: 280px;
  --carteira-col-right: 520px;
  --carteira-col-right-wide: 560px;
  --carteira-gap: 10px;
  --carteira-card-padding: 25px;
  --carteira-card-radius: 5px;
  --carteira-danger: #cc0000;
  --carteira-transition: .15s ease;
  --carteira-bg-canvas: #1c1c1c;
  --carteira-bg-nav: #242424;
  --carteira-nav-item: #303030;
  --carteira-nav-item-hover: #393939;
  --carteira-nav-item-active: #464646;
  --carteira-nav-text: rgba(255,255,255,.50);
  --carteira-nav-subtitle: #a0a0a0;
}

/* Controle */
.controle-card { padding-bottom: 15px; }
.controle-card > .consolidacao-cabecalho {
  justify-content: space-between;
  gap: 12px;
}
.controle-card > .sep-cab-carteira { margin-bottom: 0; }
.controle-card > #lista-emps { padding-top: 15px; }
.controle-linha-cliente {
  height: 35px;
  padding: 0 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font: 600 12px/15px var(--carteira-fonte-sistema);
}
.controle-linha-cliente[data-contrato] {
  cursor: pointer;
}
.controle-cliente-nome {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #111;
  display: flex;
  align-items: center;
}
.controle-cliente-identidade {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 5px;
}
.controle-cliente-contrato {
  display: inline-flex;
  width: 11px;
  height: 11px;
  padding: 0;
  flex: 0 0 11px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #bbb;
}
.controle-cliente-contrato svg {
  width: 11px;
  height: 11px;
}
.carteira-chevron-linha {
  display: block;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  flex-shrink: 0;
  align-self: center;
  color: #bbb;
}
.controle-cliente-intervalo { flex-shrink: 0; color: #111; }
.controle-lista-vazia { padding: 25px; color: #bbb; font: 500 12px/1.4 var(--carteira-fonte-sistema); }

/* Acesso */
body.layout-acesso {
  --carteira-shell-wide: 980px;
  --carteira-header-wide: 1000px;
  --carteira-col-right-wide: 690px;
}
.acesso-titulo-desktop {
  padding: 35px 0;
}
.acesso-titulo-desktop .page-title-desktop {
  padding: 0;
}
.acesso-lista-usuarios {
  margin-top: 1px;
}
.acesso-lista-usuarios .btn-emp-desktop {
  display: flex !important;
  min-height: 52px !important;
  justify-content: center;
}
.acesso-lista-usuarios .btn-emp-desktop.is-disabled {
  opacity: .45;
}
.acesso-card {
  min-height: 180px;
}
.acesso-folhas {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--carteira-card-radius);
}
.acesso-log-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 100%;
  z-index: 5;
  cursor: pointer;
}
.shell-dashboard .card.acesso-log-folha {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 20px);
  min-height: 100%;
  overflow: hidden;
  border-radius: 0 var(--carteira-card-radius) var(--carteira-card-radius) 0;
  background: #fff;
  box-sizing: border-box;
  pointer-events: none;
  transform: translateX(calc(100% + 20px));
  transition: transform .15s ease;
  z-index: 0;
}
.acesso-log-folha > .sep-cab-carteira {
  margin-bottom: 0;
}
.acesso-log-folha-cabecalho {
  display: flex;
  padding: 25px;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.acesso-log-folha-cabecalho .acesso-log-voltar {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
}
.acesso-log-folha-cabecalho strong {
  min-width: 0;
  overflow: hidden;
  color: #111;
  font: 700 20px/24px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.acesso-cabecalho-titulo {
  color: #111;
  font: 700 20px/24px var(--carteira-fonte-sistema);
}
.acesso-cabecalho-identidade {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}
.acesso-cabecalho-identidade .acesso-cabecalho-titulo {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.acesso-cabecalho-titulo--mobile {
  display: none;
}
.btn-adicionar-cabecalho {
  display: inline-flex;
  padding: 3px 8px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #f2f2f2;
  color: #999;
  font: 700 8px/1 var(--carteira-fonte-sistema);
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--carteira-transition), background var(--carteira-transition);
}
.btn-adicionar-cabecalho:hover {
  background: #ececec;
  color: #777;
}
.btn-adicionar-cabecalho[hidden] {
  display: none;
}
.acesso-cabecalho-acoes {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
}
.acesso-cabecalho-acoes .btn-adicionar-cabecalho {
  border-radius: 0;
}
.acesso-cabecalho-acoes .btn-adicionar-cabecalho:first-child {
  border-radius: 999px 0 0 999px;
}
.acesso-cabecalho-acoes .btn-adicionar-cabecalho:last-child {
  border-radius: 0 999px 999px 0;
  box-shadow: inset 1px 0 #fff;
}
.acesso-log-toggle {
  transition: color var(--carteira-transition), background var(--carteira-transition), opacity var(--carteira-transition);
}
.acesso-log-toggle:hover {
  background: #ececec;
  color: #777;
}
.acesso-log-toggle.is-active {
  color: #aaa;
  opacity: .55;
}
.acesso-log-toggle.is-disabled {
  opacity: .35;
  pointer-events: none;
}
.acesso-aviso {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 25px;
  padding: 15px;
  background: #f4f4f4;
  border-radius: 5px;
  color: #777;
  font-size: 11px;
}
.acesso-aviso strong {
  color: #111;
  font-size: 12px;
}
.acesso-feedback {
  margin: 25px 25px 0;
  padding: 12px 15px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 600;
}
.acesso-feedback--erro { background: #f8e8e8; color: #900; }
.acesso-feedback--sucesso { background: #e8f4ea; color: #287a3d; }
.acesso-importar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 25px 25px 0;
  padding: 15px;
  background: #f4f4f4;
  border-radius: 5px;
}
.acesso-importar > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}
.acesso-importar strong { color: #111; font-size: 11px; }
.acesso-importar span { color: #888; font-size: 9px; line-height: 13px; }
.acesso-importar button,
.acesso-salvar {
  height: 36px;
  padding: 0 18px;
  border: 0;
  border-radius: 18px;
  background: var(--carteira-danger);
  color: #fff;
  font: 600 11px/36px var(--carteira-fonte-sistema);
  cursor: pointer;
}
.acesso-form {
  padding: 0 25px 25px;
}
.acesso-log {
  width: 100%;
  padding: 5px 25px 15px;
  box-sizing: border-box;
}
.acesso-log.is-empty {
  padding: 0 25px 25px;
}
.acesso-log-voltar,
.acesso-log-paginacao button {
  display: inline-flex;
  width: 26px;
  height: 26px;
  padding: 0;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #aaa;
  cursor: pointer;
}
.acesso-log-voltar svg,
.acesso-log-paginacao button svg {
  width: 13px;
  height: 13px;
}
.acesso-log-voltar:hover,
.acesso-log-paginacao button:hover {
  color: #555;
}
.acesso-log-paginacao {
  display: flex;
  min-height: 35px;
  padding-top: 10px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-top: 1px solid #eee;
}
.acesso-log-paginacao[hidden] {
  display: none;
}
.acesso-log-paginacao:not([hidden]) {
  margin-bottom: 10px;
}
.acesso-log-paginacao span {
  min-width: 40px;
  color: #888;
  font-size: 9px;
  text-align: center;
}
.acesso-log-paginacao button:disabled {
  opacity: .25;
  cursor: default;
}
.acesso-log-linha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 12px;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}
.acesso-log-linha:last-child {
  border-bottom: 0;
}
.acesso-log-data {
  color: #777;
  font-size: 9px;
  font-weight: 500;
  white-space: nowrap;
}
.acesso-log-meta {
  display: flex;
  min-width: 0;
  grid-column: 1 / -1;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  color: #999;
  font-size: 9px;
  line-height: 13px;
  overflow-wrap: anywhere;
}
.acesso-log-evento {
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
}
.acesso-log-evento--entrada {
  color: #27853d;
}
.acesso-log-evento--saida {
  color: #777;
}
.acesso-log-evento--falha {
  color: var(--carteira-danger);
}
.acesso-log-vazio {
  padding: 25px 0 0;
  color: #999;
  font-size: 10px;
}
.acesso-secao {
  padding-top: 25px;
}
.acesso-secao + .acesso-secao {
  margin-top: 25px;
  border-top: 1px solid #eee;
}
.acesso-secao-titulo {
  margin-bottom: 15px;
  color: #111;
  font-size: 11px;
  font-weight: 700;
}
.acesso-grid {
  display: grid;
  gap: 12px;
}
.acesso-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.acesso-campo {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}
.acesso-campo > span,
.acesso-permissao-grupo-titulo {
  color: #888;
  font-size: 8px;
  font-weight: 600;
  text-transform: uppercase;
}
.acesso-campo input,
.acesso-campo select {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 5px;
  outline: none;
  background: #f4f4f4;
  color: #111;
  font: 500 11px/40px var(--carteira-fonte-sistema);
}
.acesso-toggle,
.acesso-check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
  font-size: 10px;
  cursor: pointer;
}
.acesso-toggle {
  margin-top: 15px;
}
.acesso-toggle input,
.acesso-check input {
  width: 14px;
  height: 14px;
  accent-color: var(--carteira-danger);
}
.acesso-permissoes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.acesso-permissao-grupo {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.acesso-permissao-grupo-titulo {
  margin-bottom: 2px;
}
.acesso-acoes {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 30px;
}
.acesso-cancelar {
  height: 36px;
  padding: 0 18px;
  border: 0;
  border-radius: 18px;
  background: #eee;
  color: #888;
  font: 600 11px/36px var(--carteira-fonte-sistema);
  cursor: pointer;
}
.acesso-menu-mobile {
  display: none !important;
}

@media (max-width: 829px) {
  .acesso-menu-mobile.is-open {
    display: flex !important;
  }
  .acesso-grid--2,
  .acesso-permissoes {
    grid-template-columns: 1fr;
  }
  .acesso-importar {
    align-items: flex-start;
    flex-direction: column;
  }
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--carteira-fonte-sistema);
  background: var(--carteira-bg-canvas);
  min-height: 100vh;
  padding: 0;
  overflow-x: hidden;
}

.card-resumo      { order: 1; }
.card-inadimplencia { order: 2; }
.card-juridico    { order: 3; }

.header-inner {
  max-width: var(--carteira-shell-mobile);
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
}

.shell {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--carteira-gap);
  padding: var(--carteira-gap);
}

.shell-dashboard {
  gap: var(--carteira-gap);
  padding: var(--carteira-gap);
}

.col-left, .col-right { display: contents; }

.card {
  background: #fff;
  border-radius: var(--carteira-card-radius);
  border: none;
  max-width: var(--carteira-shell-mobile);
  width: 100%;
  margin: 0 auto;
  float: none;
}
.carteira-card-principal {
  overflow: hidden;
  border-radius: var(--carteira-card-radius) !important;
}
.carteira-card-principal > .sep-cab-carteira {
  margin-bottom: 0;
}

/* TÃ­tulo de pÃ¡gina */
.page-title-mobile {
  display:flex;
  align-items:center;
  gap:12px;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  font-family: var(--carteira-fonte-sistema);
  padding: 10px;
  position:relative;
  max-width: var(--carteira-shell-mobile);
  width: 100%;
  margin: 0 auto;
}

.page-title-desktop {
  display: none;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  font-family: var(--carteira-fonte-sistema);
  padding: 25px 0;
}

.metric-val {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

@media (min-width: 830px) {
  .shell-dashboard {
    max-width: var(--carteira-shell-desktop);
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--carteira-gap);
    padding: 10px 0;
  }

  .shell-dashboard .col-left {
    display: flex;
    flex-direction: column;
    gap: var(--carteira-gap);
    width: var(--carteira-col-left);
    flex-shrink: 0;
  }

  .shell-dashboard .col-right {
    display: flex;
    flex-direction: column;
    gap: var(--carteira-gap);
    width: var(--carteira-col-right);
  }

  .shell-dashboard .card {
    border-radius: var(--carteira-card-radius);
    max-width: none;
    margin: 0;
    width: 100%;
  }

  .page-title-mobile  { display: none; }
  .page-title-desktop {
    display:flex;
	align-items:center;
	gap:12px;
  }

  .metric-val {
    flex-direction: column;
    gap: 2px;
  }

  .header-inner { max-width: calc(var(--carteira-shell-desktop) + (2 * var(--carteira-gap))); }

  body.layout-wide .header-inner {
    max-width: var(--carteira-header-wide);
  }

  body.layout-wide .shell-dashboard {
    max-width: var(--carteira-shell-wide);
  }

  body.layout-wide .shell-dashboard .col-right {
    width: var(--carteira-col-right-wide);
  }
}

/* Card transparente para col-left sobre fundo escuro */
.card-ghost {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.card-ghost .abertura-titulo { color: #fff; }
.card-ghost .abertura-desc   { color: rgba(255,255,255,0.45); }
.card-ghost .abertura-icon   { background: rgba(255,255,255,0.08); }
.card-ghost .abertura-icon svg { stroke: #fff; }

/* Wrapper de folhas sobrepostas (drill-down deslizante): precisa ter
   exatamente a mesma largura do .card que envolve, em qualquer breakpoint,
   senao os calculos de offset/translateX em px ficam relativos ao container
   errado (mais largo) e a folha vaza/cresce alem do card visivel. */
.wrapper-folhas {
  max-width: var(--carteira-shell-mobile);
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: var(--carteira-card-radius);
  background: #fff;
}

.carteira-panel-shell {
  max-width: var(--carteira-shell-mobile);
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 830px) {
  .wrapper-folhas,
  .carteira-panel-shell {
    max-width: none;
  }
}

.hidden { display: none !important; }

/* â”€â”€ Avisos â”€â”€ */
.aviso-juridico {
  margin: 0 16px 16px; background: #fff4f4; border: 1px solid #f5c2c2;
  border-radius: 11px; padding: 14px;
}
.aviso-juridico p { font-size: 12px; color: #7a1b1b; line-height: 1.7; }

/* â”€â”€ Contrato: layout de tÃ­tulos â”€â”€ */
.sep-cab-carteira  { height: 0.5px; background: #f0f0f0; margin-bottom: 10px; }
.carteira-folha-lista-calibrada > .sep-cab-carteira { margin-bottom: 0; }
.lista-titulos     { padding: 0; }
.bloco-titulo      { }
.filhas-titulo     { margin: 0 25px; display: flex; flex-direction: column; gap: 4px; }
.linha-filha       { padding: 8px 10px; border-radius: 4px; background: rgb(248,248,248); }
.wrap-copiar       { height: 0.5px; background: #f0f0f0; margin: 20px 0 0; }
.div-copiar        { padding: 25px; }

.carteira-marcador-linha {
  position: absolute;
  top: 50%;
  right: 117px;
  transform: translateY(-50%);
  padding: 3px 8px;
  border-radius: 999px;
  background: #f2f2f2;
  color: #999;
  font: 700 8px/1 var(--carteira-fonte-sistema);
  letter-spacing: 0;
  pointer-events: none;
}
.carteira-linha-com-marcador {
  position: relative;
}
.carteira-linha-com-marcador .carteira-linha-nome {
  padding-right: 64px;
}
.carteira-lista-apos-resumo > .bloco-titulo:first-child .carteira-marcador-linha {
  top: calc(50% + 6px);
}
.carteira-lista-navegacao-meta {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 8px;
  margin-left: auto;
}
.carteira-criticidade-indicador {
  width: 3px;
  height: 3px;
  flex: 0 0 3px;
  border-radius: 50%;
  background: #bbb;
}
.carteira-criticidade--juridico { background: #111; }
.carteira-criticidade--vencido { background: #c00; }
.carteira-criticidade--residual { background: #b08a4a; }
.carteira-criticidade--regular { background: #7ab87a; }
.carteira-criticidade--liquidado { background: #bbb; }
.carteira-filtro-demanda {
  flex-shrink: 0;
  padding: 4px 8px;
  border: 0;
  border-radius: 999px;
  background: #f2f2f2;
  color: #999;
  font: 700 8px/1 var(--carteira-fonte-sistema);
  letter-spacing: 0;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.carteira-filtro-demanda.is-active {
  background: #1a7a45;
  color: #fff;
}
#card-consolidacao.filtro-demanda-vazio {
  padding-bottom: 0 !important;
}
#card-consolidacao.filtro-demanda-vazio > .sep-cab-carteira,
#card-consolidacao.filtro-demanda-vazio > #lista-categorias {
  display: none;
}
#card-juridico.filtro-demanda-vazio {
  padding-bottom: 0 !important;
}
#card-juridico.filtro-demanda-vazio > .sep-cab-carteira,
#card-juridico.filtro-demanda-vazio > #lista-clientes {
  display: none;
}

/* Tabelas compactas do sistema */
.carteira-tabela {
  margin-right: 20px !important;
  margin-left: 20px !important;
  padding: 4px 0 !important;
  overflow: hidden;
  border-radius: 4px;
  background: #f7f7f7;
}
.carteira-tabela-cabecalho {
  display: grid;
  gap: 0;
  min-height: 30px;
  padding: 10px 12px !important;
  box-sizing: border-box;
  align-items: center !important;
  color: #999 !important;
  font: 600 8px/10px var(--carteira-fonte-sistema) !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}
.carteira-tabela-linha {
  display: grid;
  gap: 0;
  height: 25px;
  padding: 6px 12px !important;
  align-items: center !important;
  color: #111 !important;
  font: 400 9px/13px var(--carteira-fonte-sistema) !important;
}
.carteira-tabela .linha-filha {
  padding: 6px 12px !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.carteira-tabela-cabecalho > span,
.carteira-tabela-linha > span {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.carteira-tabela-linha + .carteira-tabela-linha {
  margin-top: 0 !important;
}
.carteira-tabela-linha--cancelada {
  background: #f2f2f2 !important;
}
.carteira-tabela .carteira-cobranca-dados-linha + .carteira-cobranca-dados-linha,
.carteira-tabela .linha-filha + .linha-filha {
  margin-top: 0 !important;
}
.carteira-tabela-cabecalho > span {
  color: #999 !important;
}
.carteira-tabela-cabecalho--ordenavel > span {
  color: #5f7f9a !important;
}
.carteira-tabela-ordenar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #5f7f9a;
  font: 600 8px/10px var(--carteira-fonte-sistema);
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
}
.carteira-tabela-ordenar-seta {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  color: #9aafbf;
  font: 400 8px/1 Arial, sans-serif;
}
.carteira-tabela-ordenar.is-active .carteira-tabela-ordenar-seta {
  color: #5f7f9a;
}
.carteira-tabela-linha > span {
  color: #999 !important;
}
.carteira-tabela-linha > span:first-child,
.carteira-tabela-linha > span:last-child {
  color: #111 !important;
}
.carteira-badge-condicao {
  display: inline-block;
  max-width: 100%;
  padding: 1px 5px;
  border-radius: 6px;
  background: rgba(143, 152, 163, .10);
  color: #8f98a3;
  font-size: 8px;
  font-weight: 500;
  line-height: 10px;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.carteira-badge-condicao--devolucao {
  background: rgba(95, 127, 154, .12);
  color: #5f7f9a;
}
.carteira-badge-condicao--encargo {
  background: rgba(155, 122, 50, .13);
  color: #9b7a32;
}
.carteira-badge-condicao--reforco {
  background: rgba(93, 138, 103, .12);
  color: #5d8a67;
}
.carteira-tabela-total > span {
  color: #111 !important;
}
.carteira-col-danger {
  color: #cc0000 !important;
}
.carteira-tabela-linha > span.carteira-col-danger {
  color: #cc0000 !important;
}
.carteira-tabela-total > span.carteira-col-danger {
  color: #cc0000 !important;
}
.carteira-tabela-total > span {
  font-weight: 700 !important;
}
.carteira-tabela--resumo .carteira-tabela-linha > span,
.carteira-tabela--resumo .carteira-tabela-total > span,
.carteira-tabela--resumo .carteira-tabela-linha > span.carteira-col-danger,
.carteira-tabela--resumo .carteira-tabela-total > span.carteira-col-danger {
  color: #111 !important;
}
.carteira-grid-6-4 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.carteira-grid-comunicado {
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 2fr) !important;
}
.carteira-tabela-linha.carteira-grid-comunicado > span:nth-child(2) {
  color: #111 !important;
}
.carteira-grid-carteira-titulos {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.carteira-grid-carteira-com-pagamento {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.carteira-grid-pagamento-contrato {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.carteira-grid-titulos-detalhe {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.carteira-grid-pagamento-resumo {
  grid-template-columns: 46% repeat(3, 18%) !important;
}
.carteira-tabela-cabecalho.carteira-grid-pagamento-resumo > span:first-child .carteira-tabela-ordenar {
  justify-content: flex-start;
}
.carteira-grid-pagamento-resumo > span:first-child { text-align: left !important; }
.carteira-tabela-cabecalho.carteira-grid-titulos-detalhe > span:first-child .carteira-tabela-ordenar {
  justify-content: flex-start;
}
.carteira-cobranca-titulos-cliente {
  margin: 0 20px 1px;
  padding: 4px 0;
  background: #f7f7f7;
  border-radius: 4px;
}
.carteira-cobranca-titulos-cliente.carteira-cobranca-titulos-folha {
  margin: 20px;
}
.carteira-tabela--titulos-padrao .carteira-cobranca-dados-cabecalho,
.carteira-tabela--titulos-padrao .carteira-cobranca-dados-linha {
  gap: 0;
}
.carteira-tabela--titulos-padrao .carteira-tabela-linha > span {
  color: #111 !important;
}
.carteira-tabela--titulos-padrao .carteira-tabela-linha > span:nth-child(2),
.carteira-tabela--titulos-padrao .carteira-tabela-linha > span:nth-child(3),
.carteira-tabela--titulos-padrao .carteira-tabela-linha > span:nth-child(4) {
  color: #999 !important;
}
.carteira-tabela--titulos-padrao .carteira-tabela-linha.carteira-tabela-linha--cancelada > span {
  color: #aaa !important;
}
.publico-tabela-matriz,
.carteira-tabela-matriz {
  display: flex;
  flex-direction: column;
  row-gap: 1px;
  margin: 13px 25px 25px;
}
.publico-tabela-matriz-grid,
.carteira-tabela-matriz-grid {
  display: grid;
  grid-template-columns: minmax(0, 30fr) repeat(5, minmax(0, 14fr));
  column-gap: 1px;
  align-items: center;
}
.publico-tabela-matriz-cabecalho,
.publico-tabela-matriz-linha,
.publico-tabela-matriz-total,
.carteira-tabela-matriz-cabecalho,
.carteira-tabela-matriz-linha,
.carteira-tabela-matriz-total {
  min-height: 35px;
  padding: 0;
  color: #111;
  font: 400 10px/13px var(--carteira-fonte-sistema);
}
.publico-tabela-matriz-cabecalho,
.carteira-tabela-matriz-cabecalho {
  font-weight: 700;
}
.publico-tabela-matriz-total,
.carteira-tabela-matriz-total {
  font-weight: 700;
}
.publico-tabela-matriz-cabecalho > span,
.publico-tabela-matriz-linha > span,
.publico-tabela-matriz-total > span,
.carteira-tabela-matriz-cabecalho > span,
.carteira-tabela-matriz-linha > span,
.carteira-tabela-matriz-total > span {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
  text-overflow: ellipsis;
}
.publico-tabela-matriz-grid > span:first-child,
.carteira-tabela-matriz-grid > span:first-child { text-align: left; }
.publico-tabela-matriz-linha > .publico-matriz-valor,
.carteira-tabela-matriz-linha > .carteira-matriz-valor {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 700;
}
.publico-matriz-valor[class*="publico-escala-"] {
  border-radius: 0;
}
.publico-matriz-valor.publico-escala-1 { background: #f3f5f6; color: #111; }
.publico-matriz-valor.publico-escala-2 { background: #e7ecef; color: #111; }
.publico-matriz-valor.publico-escala-3 { background: #d5dfe5; color: #111; }
.publico-matriz-valor.publico-escala-4 { background: #bdccd5; color: #111; }
.publico-matriz-valor.publico-escala-5 { background: #9fb4c1; color: #111; }
.publico-tabela-matriz--genero .publico-escala-1 { background: #f5f2f6; }
.publico-tabela-matriz--genero .publico-escala-2 { background: #ebe4ed; }
.publico-tabela-matriz--genero .publico-escala-3 { background: #ddd1e0; }
.publico-tabela-matriz--genero .publico-escala-4 { background: #cbb9d0; }
.publico-tabela-matriz--genero .publico-escala-5 { background: #b7a1bd; }
.publico-tabela-matriz--idade .publico-escala-1 { background: #f1f5f2; }
.publico-tabela-matriz--idade .publico-escala-2 { background: #e3ece6; }
.publico-tabela-matriz--idade .publico-escala-3 { background: #d1e0d5; }
.publico-tabela-matriz--idade .publico-escala-4 { background: #b9cfbf; }
.publico-tabela-matriz--idade .publico-escala-5 { background: #9fb9a8; }
.publico-tabela-matriz--localidade .publico-escala-1 { background: #f0f5f5; }
.publico-tabela-matriz--localidade .publico-escala-2 { background: #e0ebeb; }
.publico-tabela-matriz--localidade .publico-escala-3 { background: #ccdddd; }
.publico-tabela-matriz--localidade .publico-escala-4 { background: #afcaca; }
.publico-tabela-matriz--localidade .publico-escala-5 { background: #93b5b4; }
.publico-tabela-matriz--ocupacao .publico-escala-1 { background: #f7f4ee; }
.publico-tabela-matriz--ocupacao .publico-escala-2 { background: #eee7da; }
.publico-tabela-matriz--ocupacao .publico-escala-3 { background: #e1d4bd; }
.publico-tabela-matriz--ocupacao .publico-escala-4 { background: #d2bf9e; }
.publico-tabela-matriz--ocupacao .publico-escala-5 { background: #c4aa79; }
.publico-tabela-matriz--renda .publico-escala-1 { background: #f7f1f2; }
.publico-tabela-matriz--renda .publico-escala-2 { background: #eee2e4; }
.publico-tabela-matriz--renda .publico-escala-3 { background: #e1ccd0; }
.publico-tabela-matriz--renda .publico-escala-4 { background: #d0b1b7; }
.publico-tabela-matriz--renda .publico-escala-5 { background: #bf98a0; }
.carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-1 { background: #f7eeee; }
.carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-2 { background: #f1dfe3; }
.carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-3 { background: #e7c5cc; }
.carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-4 { background: #d9a4b0; }
.carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-5 { background: #c08094; }
.carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha .carteira-matriz-valor[class*="carteira-escala-"] { border-radius: 0; }
.carteira-tabela-matriz--aging .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-1 { background: #f7eeee; }
.carteira-tabela-matriz--aging .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-2 { background: #f1dfe3; }
.carteira-tabela-matriz--aging .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-3 { background: #e7c5cc; }
.carteira-tabela-matriz--aging .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-4 { background: #d9a4b0; }
.carteira-tabela-matriz--aging .carteira-tabela-matriz-linha .carteira-matriz-valor.carteira-escala-5 { background: #c08094; }
.carteira-tabela-matriz--aging .carteira-tabela-matriz-linha .carteira-matriz-valor[class*="carteira-escala-"] { border-radius: 0; }
@media (min-width: 830px) {
  .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-grid {
    grid-template-columns: minmax(0, 40fr) repeat(6, minmax(0, 10fr));
  }
  .carteira-tabela-matriz--aging .carteira-tabela-matriz-grid {
    grid-template-columns: minmax(0, 40fr) repeat(6, minmax(0, 10fr));
  }
}
.publico-orientacao-label,
.carteira-orientacao-label {
  margin-left: 8px;
  color: #aaa;
  font-size: 8px;
  font-weight: 600;
  line-height: 1;
  vertical-align: middle;
}
.carteira-cobranca-dado-label .carteira-tabela-ordenar {
  font: inherit;
  text-transform: none;
}
.carteira-cobranca-dados-cabecalho:not(.carteira-tabela-cabecalho),
.carteira-cobranca-dados-linha:not(.carteira-tabela-linha) {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  gap: 8px 10px;
}
.carteira-cobranca-dados-cabecalho:not(.carteira-tabela-cabecalho) { padding-bottom: 5px; }
.carteira-cobranca-dados-cabecalho:not(.carteira-tabela-cabecalho) + .carteira-cobranca-dados-linha:not(.carteira-tabela-linha) {
  margin-top: 0;
}
.carteira-cobranca-dados-linha:not(.carteira-tabela-linha) + .carteira-cobranca-dados-linha:not(.carteira-tabela-linha) {
  margin-top: 10px;
}
.carteira-separador-grupo {
  height: 1px;
  margin: 6px 25px;
  background: #f0f0f0;
}
.carteira-busca-resultados-alfabeticos {
  padding: 5px 0;
}
.carteira-busca-grupo + .carteira-busca-grupo {
  padding-top: 0;
}
.carteira-busca-grupo + .carteira-busca-grupo::before {
  content: '';
  display: block;
  height: .5px;
  margin-bottom: 10px;
  background: #f0f0f0;
}
.carteira-busca-letra {
  padding: 0 25px 2px;
  color: #bbb;
  font-size: 10px;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.carteira-busca-item {
  padding: 10px 25px;
  cursor: pointer;
}
.carteira-busca-item-nome {
  color: #333;
  font-size: 13px;
  font-weight: 500;
}
.carteira-grupo-liquidado {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  padding: 12px 25px;
  border: 0;
  background: #f7f7f7;
  color: #999;
  font: 600 9px/12px var(--carteira-fonte-sistema);
  letter-spacing: .02em;
  text-align: left;
  cursor: pointer;
}
.carteira-grupo-liquidado.tem-clientes-abertos {
  margin-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.carteira-grupo-liquidado.tem-grupo-anterior {
  margin-top: 0;
}
.grupo-reparcelamento {
  margin-top: 0;
  border-top: 1px solid #f0f0f0;
}
.carteira-grupo-reparcelamento-lista {
  background: #f7f7f7;
}
.carteira-grupo-reparcelamento-lista .tabela-parcelamento {
  margin: 0 20px !important;
  background: #f4f4f4;
}
.carteira-grupo-liquidado-contador {
  color: #aaa;
  font-weight: 400;
}
.carteira-grupo-liquidado svg {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}
.carteira-grupo-liquidado.is-open .chevron-indicador {
  transform: rotate(90deg);
}
.carteira-grupo-liquidado-lista {
  background: #f7f7f7;
  padding-bottom: 12px;
}
.carteira-grupo-liquidado-lista.carteira-grupo-reparcelamento-lista {
  padding-bottom: 20px;
}
.carteira-lista-navegacao-item--estatico {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 25px 13px;
}
.carteira-card-com-liquidado {
  padding-bottom: 0 !important;
}
.carteira-card-com-liquidado .lista-encargo-blocos {
  padding-bottom: 0;
}
#card-2.card-etiquetas-direto > .sep-cab-carteira {
  margin-bottom: 0;
}
#card-consolidacao.grupo-liquidado-ativo {
  padding-bottom: 0 !important;
}
#card-clientes {
  background: #f7f7f7 !important;
}
#card-clientes > :first-child {
  background: #fff;
}
#card-clientes.tabela-cliente-consolidacao {
  background: #fff !important;
  padding-bottom: 0 !important;
}
#card-clientes.tabela-cliente-consolidacao > .sep-cab-carteira {
  margin-bottom: 0;
}
#card-clientes.tabela-cliente-consolidacao #lista-clientes-consolidacao {
  padding: 0;
}
#card-clientes.tabela-cliente-consolidacao .carteira-cobranca-titulos-folha {
  margin: 20px;
}
.carteira-cobranca-dado-label {
  min-width: 0;
  color: #5f7f9a;
  font: 700 8px/10px var(--carteira-fonte-sistema);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  text-align: center;
}
.carteira-cobranca-dado-valor {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #111;
  font: 400 9px/13px var(--carteira-fonte-sistema);
  white-space: nowrap;
  width: 100%;
  text-align: center;
}
.chevron-indicador { transition: transform .15s ease; }
.chevron-indicador.is-open { transform: rotate(90deg); }
.carteira-cobranca-dado-valor--primario { color: #111; }
.carteira-cobranca-dado-secundario {
  color: #777 !important;
}
.carteira-cobranca-dado-label.carteira-cobranca-dado-secundario {
  color: #5f7f9a !important;
}
.carteira-tabela-linha.carteira-grid-carteira-titulos > span:first-child {
  color: #111 !important;
}
.carteira-tabela-linha.carteira-grid-titulos-detalhe > span:first-child {
  color: #111 !important;
}
.carteira-tabela-linha.carteira-grid-titulos-detalhe > span:nth-child(2) {
  color: #111 !important;
}
.carteira-contrato-dados-lista {
  padding: 0;
}
.carteira-contrato-dados-linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 35px;
  padding: 3px 25px;
  box-sizing: border-box;
}
.carteira-contrato-dados-linha + .carteira-contrato-dados-linha {
  margin-top: 5px;
}
.carteira-contrato-dados-label {
  min-width: 0;
  color: #111;
  font: 600 12px/16px var(--carteira-fonte-sistema);
  white-space: nowrap;
}
.carteira-contrato-dados-valor {
  min-width: 0;
  color: #111;
  font: 600 12px/16px var(--carteira-fonte-sistema);
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.carteira-contrato-dados-valor-principal,
.carteira-contrato-dados-secundario {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.carteira-contrato-dados-secundario {
  margin-top: 2px;
  color: #999;
  font: 400 9px/12px var(--carteira-fonte-sistema);
}
.carteira-col-email {
  color: #bbb !important;
  font-size: 9px !important;
  font-weight: 400 !important;
}
.carteira-col-secundaria,
.carteira-tabela-linha > span.carteira-col-secundaria {
  color: #999 !important;
  font-size: 9px !important;
  font-weight: 400 !important;
}
@media (max-width: 829px) {
  .publico-tabela-matriz-grid,
  .carteira-tabela-matriz-grid {
    grid-template-columns: minmax(0, 40fr) repeat(5, minmax(0, 12fr));
  }
  .publico-tabela-matriz-grid--anos {
    grid-template-columns: minmax(0, 40fr) repeat(3, minmax(0, 20fr));
  }
  .publico-tabela-matriz-grid--anos > span:nth-child(2),
  .publico-tabela-matriz-grid--anos > span:nth-child(3) {
    display: none;
  }
  .publico-tabela-matriz-grid--mobile-3 {
    grid-template-columns: minmax(0, 40fr) repeat(3, minmax(0, 20fr));
  }
  .carteira-tabela-matriz-grid--mobile-3 {
    grid-template-columns: minmax(0, 40fr) repeat(3, minmax(0, 20fr));
  }
  .publico-tabela-matriz-grid--mobile-3 > span:nth-last-child(-n+2) {
    display: none;
  }
  .carteira-tabela-matriz-grid--mobile-3 > span:nth-last-child(-n+3) {
    display: none;
  }
  .carteira-tabela-matriz-grid--aging-mobile-3 {
    grid-template-columns: minmax(0, 40fr) repeat(3, minmax(0, 20fr));
  }
  .carteira-tabela-matriz-grid--aging-mobile-3 > span:nth-last-child(-n+3) {
    display: none;
  }  .carteira-cobranca-dados-cabecalho,
  .carteira-cobranca-dados-linha {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .carteira-cobranca-dado-mobile-hide {
    display: none !important;
  }
  .carteira-grid-6-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .carteira-grid-comunicado {
    grid-template-columns: repeat(4, 25%) !important;
  }
  .carteira-grid-carteira-titulos {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .carteira-grid-carteira-com-pagamento {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .carteira-grid-pagamento-contrato {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .carteira-grid-titulos-detalhe {
    grid-template-columns: repeat(4, 25%) !important;
  }
  .carteira-grid-pagamento-resumo {
    grid-template-columns: 50% 25% 25% !important;
  }
  .carteira-carteira-mobile-hide {
    display: none !important;
  }
  .carteira-tabela-id-mobile-hide,
  .carteira-tabela-titulo-mobile-hide,
  .carteira-pagamento-resumo-portador-mobile-hide {
    display: none !important;
  }
  .carteira-mobile-hide {
    display: none !important;
  }
}

/* Resumo financeiro compacto */
.carteira-resumo-situacoes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 18px 25px 17px;
  background: #f7f7f7;
  column-gap: 18px;
}
.carteira-resumo-situacao {
  min-width: 0;
  padding: 0;
  text-align: left;
}
.carteira-resumo-label {
  margin-top: 5px;
  overflow: hidden;
  color: #bbb;
  font: 400 8px/10px var(--carteira-fonte-sistema);
  letter-spacing: .02em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.carteira-resumo-valor {
  overflow: hidden;
  color: #111;
  font: 650 13px/16px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.carteira-resumo-percentual {
  margin-left: 4px;
  color: #bbb;
  font: 400 8px/10px var(--carteira-fonte-sistema);
}
.carteira-resumo-situacao.is-danger .carteira-resumo-valor {
  color: #cc0000;
}
.carteira-resumo-separador {
  height: 1px;
  background: #f0f0f0;
}
.carteira-composicao-resumo {
  padding: 20px 25px;
  background: #f7f7f7;
}
.consolidacao-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 22px 25px;
}
.consolidacao-kpis--financeiros {
  border-top: 1px solid #efefef;
  background: #fafafa;
}
.consolidacao-painel { background: #fff; }
.consolidacao-cabecalho {
  display: flex;
  align-items: center;
  min-height: 74px;
  padding: 25px;
}
.consolidacao-cabecalho > div {
  min-width: 0;
  overflow: hidden;
  color: #111;
  font: 700 20px/24px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.consolidacao-total-cabecalho { flex: 0 0 auto; margin-left: auto; text-align: right; }
.titulo-consolidacao-mobile { display: none; }
@media (max-width: 829px) {
  .titulo-consolidacao-desktop { display: none; }
  .titulo-consolidacao-mobile { display: inline; }
}
.consolidacao-secao-carteira,
.consolidacao-secao-perfil { padding: 13px 0 16px; }
.consolidacao-secao-composicao {
  padding: 13px 0 16px;
  border-top: 0;
}
.consolidacao-secao-titulo {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 25px 9px;
  color: #111;
  font: 700 12px/15px var(--carteira-fonte-sistema);
}
.consolidacao-categoria-principal,
.consolidacao-ramo,
.consolidacao-categoria-meta {
  display: flex;
  align-items: center;
  gap: 16px;
}
.consolidacao-carteira-meta,
.consolidacao-categoria-meta,
.consolidacao-ramo-meta {
  display: grid;
  grid-template-columns: 44px 120px;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  white-space: nowrap;
  text-align: right;
}
.consolidacao-categoria-grupo { position: relative; }
.consolidacao-categoria-principal {
  width: 100%;
  min-height: 0;
  padding: 9px 25px;
  border: 0;
  background: #fff;
  color: #111;
  font: 700 12px/15px var(--carteira-fonte-sistema);
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}
.consolidacao-linha-estatica {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 0;
  padding: 9px 25px;
  color: #111;
  font: 700 12px/15px var(--carteira-fonte-sistema);
}
.consolidacao-categoria-label { display: flex; align-items: center; gap: 6px; min-width: 0; }
.consolidacao-categoria-meta { color: #111; font-weight: 400; }
.consolidacao-categoria-meta > span:first-child { font-weight: 400; }
.consolidacao-categoria-meta > span:last-child { font-weight: 700; }
.consolidacao-categoria-meta--unico { grid-template-columns: 120px; }
.consolidacao-categoria-chevron { width: 13px; height: 13px; color: #aaa; flex: 0 0 auto; transition: transform .15s ease; }
.consolidacao-categoria-principal.is-open .consolidacao-categoria-chevron { transform: rotate(180deg); }
.consolidacao-ramos {
  position: relative;
  margin: 0;
  padding: 0;
}
.consolidacao-ramo {
  position: relative;
  height: 35px;
  padding: 9px 25px 9px 49px;
  color: #111;
  font: 400 12px/15px var(--carteira-fonte-sistema);
}
.consolidacao-ramo::before {
  content: '';
  position: absolute;
  left: 31px;
  top: 0;
  bottom: 0;
  border-left: 1px solid #e3e3e3;
}
.consolidacao-ramo::after {
  content: '';
  position: absolute;
  left: 31px;
  top: 50%;
  width: 12px;
  border-top: 1px solid #e3e3e3;
}
.consolidacao-ramo:last-child::before {
  bottom: 50%;
}
.consolidacao-ramo-meta { color: #111; font-weight: 400; }
.consolidacao-ramo-meta--sem-percentual { grid-template-columns: 120px; }
.consolidacao-percentual {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 15px;
  color: inherit;
  font-size: 10px;
  line-height: 1;
}
.consolidacao-lista-gerencial { padding: 12px 25px 25px; }
.consolidacao-lista-gerencial .carteira-resumo-separador { margin: 12px -25px; }
.consolidacao-linha-gerencial,
.consolidacao-linha-composicao {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 35px;
}
.consolidacao-linha-gerencial > span {
  color: #111;
  font: 700 12px/15px var(--carteira-fonte-sistema);
}
.consolidacao-linha-gerencial > strong {
  color: #111;
  font: 700 12px/15px var(--carteira-fonte-sistema);
  white-space: nowrap;
}
.consolidacao-linha-gerencial > span small {
  margin-left: 5px;
  color: #999;
  font: 500 9px/12px var(--carteira-fonte-sistema);
}
.consolidacao-linha-gerencial.is-danger > strong { color: #cc0000; }
.consolidacao-lista-composicao { padding: 3px 0 5px; }
.consolidacao-linha-composicao { min-height: 28px; }
.consolidacao-linha-composicao > span:first-child,
.consolidacao-linha-composicao > span:last-child {
  color: #999;
  font: 400 10px/13px var(--carteira-fonte-sistema);
}
.consolidacao-linha-composicao > span:last-child { color: #555; white-space: nowrap; }
.consolidacao-linha-composicao small {
  margin-right: 6px;
  color: #aaa;
  font: 400 9px/12px var(--carteira-fonte-sistema);
}
.consolidacao-vgv-cabecalho {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 25px 14px;
}
.consolidacao-vgv-cabecalho span,
.consolidacao-indicadores span {
  color: #111;
  font: 700 12px/15px var(--carteira-fonte-sistema);
}
.consolidacao-fonte span {
  color: #999;
  font: 400 10px/13px var(--carteira-fonte-sistema);
}
.consolidacao-vgv-cabecalho strong {
  color: #111;
  font: 700 20px/24px var(--carteira-fonte-sistema);
  white-space: nowrap;
}
.consolidacao-fontes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 0 25px 22px;
}
.consolidacao-fonte {
  min-width: 0;
  padding: 0 14px;
  border-left: 1px solid #e7e7e7;
}
.consolidacao-fonte:first-child { padding-left: 0; border-left: 0; }
.consolidacao-fonte:last-child { padding-right: 0; }
.consolidacao-fonte span,
.consolidacao-fonte strong,
.consolidacao-fonte small { display: block; }
.consolidacao-fonte strong {
  overflow: hidden;
  margin-top: 5px;
  color: #111;
  font: 400 12px/15px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.consolidacao-fonte small {
  margin-top: 2px;
  color: #999;
  font: 500 9px/12px var(--carteira-fonte-sistema);
}
.consolidacao-indicadores {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 20px 25px;
  background: #fafafa;
}
.consolidacao-indicadores > div {
  min-width: 0;
  padding: 0 14px;
  border-left: 1px solid #e7e7e7;
}
.consolidacao-indicadores > div:first-child { padding-left: 0; border-left: 0; }
.consolidacao-indicadores > div:last-child { padding-right: 0; }
.consolidacao-indicadores span,
.consolidacao-indicadores strong,
.consolidacao-indicadores small { display: block; }
.consolidacao-indicadores strong {
  overflow: hidden;
  margin-top: 5px;
  color: #111;
  font: 700 13px/16px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.consolidacao-indicadores small {
  margin-top: 2px;
  color: #999;
  font: 500 9px/12px var(--carteira-fonte-sistema);
}
.consolidacao-indicadores .is-danger strong { color: #cc0000; }
.consolidacao-kpi {
  min-width: 0;
  padding: 0 18px;
  border-left: 1px solid #e7e7e7;
}
.consolidacao-kpi:first-child {
  padding-left: 0;
  border-left: 0;
}
.consolidacao-kpi:last-child {
  padding-right: 0;
}
.consolidacao-kpi-label {
  display: block;
  margin-bottom: 5px;
  color: #999;
  font: 600 8px/10px var(--carteira-fonte-sistema);
  text-transform: uppercase;
}
.consolidacao-kpi-valor {
  display: block;
  overflow: hidden;
  color: #111;
  font: 700 16px/19px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.consolidacao-kpi small {
  display: block;
  margin-top: 4px;
  color: #999;
  font: 500 9px/12px var(--carteira-fonte-sistema);
}
.consolidacao-kpi--danger .consolidacao-kpi-valor { color: #cc0000; }
.consolidacao-situacoes {
  padding: 20px 25px 25px;
  border-top: 1px solid #efefef;
}
.consolidacao-situacoes-titulo {
  display: block;
  margin-bottom: 12px;
  color: #999;
  font: 600 8px/10px var(--carteira-fonte-sistema);
  text-transform: uppercase;
}
.consolidacao-situacoes-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.consolidacao-situacao {
  min-width: 0;
  padding: 12px;
  background: #f7f7f7;
  border-radius: 4px;
}
.consolidacao-situacao-label,
.consolidacao-situacao > span:last-child {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.consolidacao-situacao-label {
  color: #999;
  font: 600 8px/10px var(--carteira-fonte-sistema);
  text-transform: uppercase;
}
.consolidacao-situacao strong {
  display: block;
  margin: 5px 0 2px;
  font: 700 15px/18px var(--carteira-fonte-sistema);
}
.consolidacao-situacao > span:last-child {
  color: #555;
  font: 500 9px/12px var(--carteira-fonte-sistema);
}
@media (max-width: 540px) {
  .titulo-consolidacao-desktop { display: none; }
  .titulo-consolidacao-mobile { display: inline; }
  .consolidacao-kpis { padding: 20px; }
  .consolidacao-kpi { padding: 0 10px; }
  .consolidacao-kpi-valor { font-size: 14px; }
  .consolidacao-situacoes { padding: 20px; }
  .consolidacao-situacoes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consolidacao-vgv-cabecalho { padding: 20px 20px 14px; }
  .consolidacao-vgv-cabecalho strong { font-size: 17px; }
  .consolidacao-fontes { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 20px 20px; }
  .consolidacao-fonte { padding: 10px; }
  .consolidacao-fonte:nth-child(odd) { padding-left: 0; border-left: 0; }
  .consolidacao-fonte:nth-child(even) { padding-right: 0; }
  .consolidacao-fonte:nth-child(n + 3) { border-top: 1px solid #e7e7e7; }
  .consolidacao-indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px 20px; }
  .consolidacao-indicadores > div { padding: 10px; }
  .consolidacao-indicadores > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .consolidacao-indicadores > div:nth-child(n + 3) { border-top: 1px solid #e7e7e7; }
  .consolidacao-indicadores > div:last-child { grid-column: span 2; padding-right: 0; }
  .consolidacao-lista-gerencial { padding: 12px 20px 20px; }
  .consolidacao-lista-gerencial .carteira-resumo-separador { margin-right: -20px; margin-left: -20px; }
  .consolidacao-cabecalho { min-height: 74px; padding: 25px; }
  .consolidacao-categoria-principal { padding-right: 20px; padding-left: 20px; }
  .consolidacao-linha-estatica { padding-right: 20px; padding-left: 20px; }
  .consolidacao-secao-titulo { padding-right: 20px; padding-left: 20px; }
  .consolidacao-ramo { padding-right: 20px; padding-left: 44px; }
  .consolidacao-ramo::before,
  .consolidacao-ramo::after { left: 26px; }
  .consolidacao-categoria-meta,
  .consolidacao-ramo-meta { grid-template-columns: 40px 104px; gap: 8px; }
  .consolidacao-ramo-meta--sem-percentual { grid-template-columns: 104px; }
  .consolidacao-categoria-meta--unico { grid-template-columns: 104px; }
}
.carteira-composicao-legenda {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
  margin: 0;
}
.carteira-composicao-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  width: 100%;
  min-height: 32px;
  padding: 8px 10px;
  border-radius: 4px;
  background: #f0f0f0;
  text-align: left;
}
.carteira-composicao-label {
  min-width: 0;
  overflow: visible;
  color: #111;
  font: 400 8px/10px var(--carteira-fonte-sistema);
  letter-spacing: .02em;
  text-overflow: clip;
  text-transform: uppercase;
  white-space: nowrap;
}
.carteira-composicao-meta {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 5px;
}
.carteira-composicao-percentual {
  margin-left: auto;
  color: var(--resumo-cor);
  font-weight: 700;
}
.carteira-composicao-item--liquidado .carteira-composicao-percentual {
  color: #111;
}
.carteira-composicao-item--filtro {
  border: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: background-color .15s, box-shadow .15s;
}
.carteira-composicao-item--filtro:hover {
  background: #e9e9e9;
}
.carteira-composicao-item--filtro.is-active {
  background: #e4e4e4;
  box-shadow: inset 0 -2px 0 var(--resumo-cor);
}
.carteira-composicao-item--filtro.carteira-composicao-item--liquidado.is-active {
  box-shadow: inset 0 -2px 0 #111;
}
.carteira-linha-acoes {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.carteira-linha-icone {
  width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  background: #f1f1f1;
  color: #999;
}
.carteira-linha-icone svg {
  width: 10px;
  height: 10px;
  display: block;
}
.carteira-linha-icone--email-enviado {
  background: #eef6ee;
  color: #6da66d;
}
.carteira-linha-icone--email-pendente,
.carteira-linha-icone--email-parcial {
  background: #fff6e8;
  color: #d98a3d;
}
.carteira-linha-icone--email-indisponivel {
  position: relative;
  background: #f1f1f1;
  color: #aaa;
}
.carteira-linha-icone--check-ok {
  background: #eef6ee;
  color: #6da66d;
}
.carteira-linha-icone--check-pendente {
  background: #f1f1f1;
  color: #aaa;
}
.carteira-linha-icone--status-regular {
  background: #f1f1f1;
  color: #aaa;
}
.carteira-linha-icone--status-residual {
  background: #fff6e8;
  color: #b08a4a;
}
.carteira-linha-icone--status-vencido {
  background: #faeeee;
  color: #cc0000;
}
.carteira-linha-icone--status-pendente {
  background: #f1f1f1;
  color: #999;
}
.carteira-linha-icone--status-juridico {
  background: #f1f1f1;
  color: #aaa;
}
.carteira-linha-icone--status-cancelado {
  background: #f1f1f1;
  color: #aaa;
}
.carteira-badge-cancelado {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 15px;
  padding: 1px 6px;
  border-radius: 8px;
  background: #edf1f4;
  color: #71808c;
  font: 500 7px/1 var(--carteira-fonte-sistema);
  white-space: nowrap;
}
.campo-encargo input:disabled {
  background: #f0f0f0;
  color: #aaa;
  -webkit-text-fill-color: #aaa;
  opacity: 1;
  pointer-events: none;
  user-select: none;
}
.carteira-modal-toggle {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: #777;
  font: 500 10px/1.2 var(--carteira-fonte-sistema);
  cursor: pointer;
}
.carteira-modal-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--carteira-danger);
}
.carteira-linha-icone--demanda {
  background: transparent;
  color: #63758a;
}
.carteira-linha-icone--demanda::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.carteira-estado-vazio {
  padding: 25px;
  color: #999;
  font: 500 13px/1.5 var(--carteira-fonte-sistema);
}
.carteira-aviso-contrato {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 25px;
}
.carteira-card-aviso-com-dados .carteira-aviso-contrato--com-dados {
  margin-bottom: 25px;
}
.carteira-card-aviso-com-dados #lista-titulos {
  border-top: 1px solid #f0f0f0;
}
.carteira-aviso-contrato--liquidado {
  padding: 14px;
  border: 1px solid #b6e0c8;
  border-radius: 11px;
  background: #f0faf4;
}
.carteira-lista-linhas {
  padding: 13px 0;
}
.carteira-linha-lista {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 35px;
  padding: 0 25px;
  box-sizing: border-box;
}
.carteira-linha-lista .carteira-linha-nome {
  flex: 1 1 0;
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  min-width: 0;
  padding-right: 170px;
  overflow: hidden;
  color: #111;
  font-size: 12px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.carteira-linha-trilho {
  position: absolute;
  top: 50%;
  right: 120px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  transform: translateY(-50%);
}
.carteira-linha-trilho > .carteira-linha-icone:only-child {
  margin-left: auto;
}
.carteira-linha-valor {
  position: absolute;
  top: 50%;
  right: 25px;
  width: 96px;
  color: #111;
  font-size: 12px;
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
  transform: translateY(-50%);
}
.empty-encargos.empty-encargos--filtro {
  padding: 25px;
}
.carteira-lista-apos-resumo > .bloco-titulo:first-child,
.carteira-lista-apos-resumo > :first-child > .bloco-titulo:first-child {
  padding-top: 25px !important;
}
.carteira-lista-apos-resumo > .carteira-lista-linhas > .carteira-linha-lista:first-child {
  padding-top: 0 !important;
}
.carteira-lista-apos-resumo > .lista-encargo-blocos > .carteira-grupo-liquidado:first-child {
  margin-top: 0;
}
.carteira-rodape-acao-cinza {
  padding: 25px;
  border-top: 1px solid #f0f0f0;
  background: #fff;
}
.carteira-lista-navegacao-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 25px 13px;
  width: 100%;
  border: 0;
  background: transparent;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.carteira-lista-clientes-folha {
  padding: 0 0 8px;
}
.carteira-folha-lista-direta > .sep-cab-carteira {
  margin-bottom: 5px;
}
.carteira-folha-lista-calibrada.carteira-folha-lista-direta > .sep-cab-carteira {
  margin-bottom: 0;
}
.carteira-lista-navegacao-conteudo {
  display: flex;
  align-items: center;
  min-width: 0;
  overflow: hidden;
  color: #111;
  font-size: 12px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.carteira-lista-navegacao-contador {
  margin-left: 5px;
  color: #bbb;
  font-size: 10px;
  font-weight: 400;
}
.carteira-lista-navegacao-valor {
  flex-shrink: 0;
  color: #111;
  font-size: 12px;
  font-weight: 600;
}
.carteira-lista-navegacao-valor.is-danger {
  color: #c00;
}
.tem-resumo-gerencial > .sep-cab-carteira {
  margin-bottom: 0;
}
@media (max-width: 829px) {
  .carteira-resumo-situacoes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
  }
  .carteira-composicao-legenda {
    grid-template-columns: 1fr;
  }
  .carteira-composicao-legenda {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* â”€â”€ Tema sÃ³lido e navegaÃ§Ã£o lateral unificados â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
body.layout-carteira {
  background: var(--carteira-bg-canvas);
}

body.layout-carteira #btn-seletor-mes-mobile,
body.layout-carteira #btn-seletor-emp-mobile,
body.layout-carteira #btn-empreendimento-mobile,
body.layout-carteira #btn-acao-mobile,
body.layout-carteira #btn-aba-mobile {
  background: var(--carteira-nav-item) !important;
  color: #fff !important;
}
body.layout-carteira #btn-seletor-mes-mobile:hover,
body.layout-carteira #btn-seletor-emp-mobile:hover,
body.layout-carteira #btn-empreendimento-mobile:hover,
body.layout-carteira #btn-acao-mobile:hover,
body.layout-carteira #btn-aba-mobile:hover {
  background: var(--carteira-nav-item-hover) !important;
}
body.layout-carteira #btn-seletor-mes-mobile svg,
body.layout-carteira #btn-seletor-emp-mobile svg,
body.layout-carteira #btn-empreendimento-mobile svg,
body.layout-carteira #btn-acao-mobile svg,
body.layout-carteira #btn-aba-mobile svg {
  stroke: #aaa !important;
}

body.layout-carteira .carteira-seletor-menu {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 6px !important;
  background: var(--carteira-bg-nav) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.35) !important;
}
body.layout-carteira .carteira-seletor-item {
  background: transparent !important;
  color: #aaa !important;
}
body.layout-carteira .carteira-seletor-item:hover {
  background: var(--carteira-nav-item-hover) !important;
}
body.layout-carteira .carteira-seletor-item.is-active,
body.layout-carteira .carteira-seletor-item.is-active:hover {
  background: var(--carteira-nav-item-active) !important;
  color: #fff !important;
}
body.layout-carteira #lista-emps-desktop .btn-emp-desktop {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 18px 25px;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: 400 13px/16px var(--carteira-fonte-sistema);
  text-align: left;
  cursor: pointer;
}
body.layout-carteira #lista-emps-desktop .btn-emp-desktop.is-active {
  font-weight: 600;
}

@media (min-width: 830px) {
  body.layout-carteira .shell-dashboard {
    position: relative;
    isolation: isolate;
    min-height: calc(100vh - 58px);
    padding: 0 0 10px;
  }
  body.layout-carteira .shell-dashboard::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: calc((var(--carteira-shell-wide) - 100vw) / 2);
    width: calc((100vw - var(--carteira-shell-wide)) / 2 + var(--carteira-col-left));
    background: var(--carteira-bg-nav);
  }
  body.layout-carteira .shell-dashboard .col-right {
    padding-top: 10px;
  }
  body.layout-carteira .col-left > .page-title-desktop {
    padding: 35px 0 0 !important;
  }
  body.layout-carteira #bloco-nav-desktop {
    display: block !important;
    padding: 35px 0 0;
  }
  body.layout-carteira #bloco-nav-desktop > div:first-child {
    padding: 0 !important;
  }
  body.layout-carteira #bloco-nav-desktop .page-title-desktop {
    padding: 0 !important;
    color: #fff !important;
  }
  body.layout-carteira #bloco-nav-desktop [id^="subtitulo"] {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin: 10px 0 35px !important;
    padding: 4px 8px !important;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: #9a9a9a !important;
    font-family: var(--carteira-fonte-sistema) !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: none;
  }
  body.layout-carteira #lista-meses-desktop,
  body.layout-carteira #lista-emps-desktop,
  body.layout-carteira #lista-empreendimentos-desktop,
  body.layout-carteira #lista-acoes-desktop,
  body.layout-carteira #abas-cliente {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
    padding: 0 10px 0 0 !important;
  }
  body.layout-carteira #abas-cliente[style*="display:none"],
  body.layout-carteira #abas-cliente[style*="display: none"] {
    display: none !important;
  }
  body.layout-carteira #lista-meses-desktop > *,
  body.layout-carteira #lista-emps-desktop > *,
  body.layout-carteira #lista-empreendimentos-desktop > *,
  body.layout-carteira #lista-acoes-desktop > *,
  body.layout-carteira #abas-cliente > * {
    position: relative;
    overflow: hidden;
    border-radius: 0 !important;
    background: var(--carteira-nav-item) !important;
    color: var(--carteira-nav-text) !important;
    transition: background var(--carteira-transition) !important;
  }
  body.layout-carteira #lista-meses-desktop > :first-child,
  body.layout-carteira #lista-emps-desktop > :first-child,
  body.layout-carteira #lista-empreendimentos-desktop > :first-child,
  body.layout-carteira #lista-acoes-desktop > :first-child,
  body.layout-carteira #abas-cliente > :first-child {
    border-radius: 5px 5px 0 0 !important;
  }
body.layout-carteira #lista-meses-desktop > :last-child,
body.layout-carteira #lista-emps-desktop > :last-child,
body.layout-carteira #lista-empreendimentos-desktop > :last-child,
body.layout-carteira #lista-acoes-desktop > :last-child,
body.layout-carteira #abas-cliente > :last-child {
    border-radius: 0 0 5px 5px !important;
  }
  body.layout-carteira #lista-meses-desktop > :only-child,
  body.layout-carteira #lista-emps-desktop > :only-child,
  body.layout-carteira #lista-empreendimentos-desktop > :only-child,
  body.layout-carteira #lista-acoes-desktop > :only-child,
  body.layout-carteira #abas-cliente > :only-child {
    border-radius: 5px !important;
  }
  body.layout-carteira #lista-meses-desktop > :hover,
  body.layout-carteira #lista-emps-desktop > :hover,
  body.layout-carteira #lista-empreendimentos-desktop > :hover,
  body.layout-carteira #lista-acoes-desktop > :hover,
  body.layout-carteira #abas-cliente > :hover {
    background: var(--carteira-nav-item-hover) !important;
  }
  body.layout-carteira #lista-meses-desktop > .is-active,
  body.layout-carteira #lista-emps-desktop > .is-active,
  body.layout-carteira #lista-empreendimentos-desktop > .is-active,
  body.layout-carteira #lista-acoes-desktop > .ativo,
  body.layout-carteira #abas-cliente > .is-active {
    background: var(--carteira-nav-item-active) !important;
    color: #fff !important;
  }
  body.layout-carteira #lista-meses-desktop > .is-active:hover,
  body.layout-carteira #lista-emps-desktop > .is-active:hover,
  body.layout-carteira #lista-empreendimentos-desktop > .is-active:hover,
  body.layout-carteira #lista-acoes-desktop > .ativo:hover,
  body.layout-carteira #abas-cliente > .is-active:hover {
    background: var(--carteira-nav-item-active) !important;
  }
  body.layout-carteira #lista-meses-desktop > *::before,
  body.layout-carteira #lista-meses-desktop > *::after,
  body.layout-carteira #lista-emps-desktop > *::before,
  body.layout-carteira #lista-emps-desktop > *::after,
  body.layout-carteira #lista-empreendimentos-desktop > *::before,
  body.layout-carteira #lista-empreendimentos-desktop > *::after,
  body.layout-carteira #lista-acoes-desktop > *::before,
  body.layout-carteira #lista-acoes-desktop > *::after,
  body.layout-carteira #abas-cliente > *::before,
  body.layout-carteira #abas-cliente > *::after {
    display: none !important;
  }
  body.layout-carteira #btn-seletor-mes-mobile,
  body.layout-carteira #btn-seletor-emp-mobile,
  body.layout-carteira #btn-empreendimento-mobile,
  body.layout-carteira #btn-acao-mobile,
  body.layout-carteira #btn-aba-mobile {
    display: none !important;
  }
body.layout-carteira .consolidacao-cabecalho {
    padding: 25px;
  }
}

/* Panorama: área gerencial contínua, sem coluna lateral ou card externo. */
body.layout-panorama-novo {
  --carteira-header-wide: 1000px;
  background: #fff;
}
body.layout-panorama-novo .panorama-page {
  width: min(980px, 100%);
  min-height: calc(100vh - 58px);
  margin: 0 auto;
  background: #fff;
}
body.layout-panorama-novo .panorama-topo {
  position: relative;
  isolation: isolate;
  padding: 25px 25px 0;
  background: #242424;
}
body.layout-panorama-novo .panorama-topo::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #242424;
}
body.layout-panorama-novo .panorama-topo-linha {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
body.layout-panorama-novo .panorama-topo h1 {
  min-width: 0;
  margin: 0;
  color: #fff;
  font: 700 26px/32px var(--carteira-fonte-sistema);
}
body.layout-panorama-novo .panorama-total {
  flex: 0 0 auto;
  color: #fff;
  font: 700 20px/24px var(--carteira-fonte-sistema);
  text-align: right;
}
body.layout-panorama-novo .panorama-abas {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  gap: 30px;
  min-height: 52px;
  margin-top: 8px;
}
body.layout-panorama-novo .panorama-abas::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #303030;
}
body.layout-panorama-novo .panorama-aba {
  position: relative;
  align-self: stretch;
  padding: 0;
  border: 0;
  background: transparent;
  color: #aaa;
  font: 500 12px/16px var(--carteira-fonte-sistema);
  cursor: pointer;
  transition: color var(--carteira-transition);
}
body.layout-panorama-novo .panorama-aba::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: transparent;
}
body.layout-panorama-novo .panorama-aba:hover {
  color: #fff;
}
body.layout-panorama-novo .panorama-aba.is-active {
  color: #fff;
  font-weight: 700;
}
body.layout-panorama-novo .panorama-aba.is-active::after {
  background: #c00;
}
body.layout-panorama-novo .panorama-conteudo {
  position: relative;
  min-height: 240px;
  background: #fff;
}
body.layout-panorama-novo .panorama-orientacao {
  position: absolute;
  z-index: 1;
  top: 18px;
  right: 25px;
}
body.layout-panorama-novo .panorama-seletor-mobile {
  display: none;
}

@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-page {
    width: 100%;
    min-height: calc(100vh - 58px);
  }
  body.layout-panorama-novo .panorama-topo {
    padding: 20px;
  }
  body.layout-panorama-novo .panorama-topo-linha {
    min-height: 32px;
  }
  body.layout-panorama-novo .panorama-topo h1 {
    font-size: 22px;
    line-height: 28px;
  }
  body.layout-panorama-novo .panorama-total {
    font-size: 17px;
    line-height: 22px;
  }
  body.layout-panorama-novo .panorama-abas {
    display: none !important;
  }
  body.layout-panorama-novo .panorama-seletor-mobile {
    display: flex;
    width: 100%;
    min-height: 46px;
    margin-top: 18px;
    padding: 0 14px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 0;
    border-radius: 5px;
    background: #303030;
    color: #fff;
    font: 600 13px/16px var(--carteira-fonte-sistema);
    cursor: pointer;
  }
  body.layout-panorama-novo .panorama-seletor-mobile svg {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    color: #aaa;
    transition: transform var(--carteira-transition);
  }
  body.layout-panorama-novo .panorama-orientacao {
    top: 15px;
    right: 20px;
  }
}
/* Panorama: distribuição em colunas paralelas. */
body.layout-panorama-novo .panorama-colunas {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: 490px;
}
body.layout-panorama-novo .panorama-colunas--composicao {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.layout-panorama-novo .panorama-coluna {
  min-width: 0;
  border-right: 1px solid #e5e7e9;
}
body.layout-panorama-novo .panorama-coluna:last-child { border-right: 0; }
body.layout-panorama-novo .panorama-coluna-cabecalho {
  min-height: 92px;
  padding: 20px;
  background: #f3f4f5;
  border-bottom: 1px solid #e5e7e9;
}
body.layout-panorama-novo .panorama-coluna-cabecalho span {
  display: block;
  margin-bottom: 10px;
  overflow: hidden;
  color: #777;
  font: 500 9px/12px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
body.layout-panorama-novo .panorama-coluna-cabecalho strong {
  display: block;
  overflow: hidden;
  color: #111;
  font: 700 14px/18px var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.layout-panorama-novo .panorama-coluna-lista { padding: 10px 20px 20px; }
body.layout-panorama-novo .panorama-coluna-linha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  border-bottom: 1px solid #eee;
  color: #666;
  font: 400 10px/13px var(--carteira-fonte-sistema);
}
body.layout-panorama-novo .panorama-coluna-linha span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.layout-panorama-novo .panorama-coluna-linha span:last-child {
  color: #111;
  text-align: right;
}
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-colunas,
  body.layout-panorama-novo .panorama-colunas--composicao {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.layout-panorama-novo .panorama-coluna:nth-child(2n) { border-right: 0; }
  body.layout-panorama-novo .panorama-coluna { border-bottom: 1px solid #e5e7e9; }
  body.layout-panorama-novo .panorama-coluna-cabecalho { min-height: 82px; padding: 16px; }
  body.layout-panorama-novo .panorama-coluna-lista { padding: 8px 16px 16px; }
}
/* Acesso: mantem a tela administrativa no mesmo sistema visual do app. */
body.layout-acesso .acesso-titulo-desktop {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 35px;
  padding: 0;
}
body.layout-acesso .acesso-titulo-desktop .carteira-subtitulo-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 10px;
  padding: 4px 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #9a9a9a;
  font: 600 9px/1 var(--carteira-fonte-sistema);
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.layout-acesso .acesso-lista-usuarios {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin: 0;
  padding-right: 10px;
}
body.layout-acesso .acesso-lista-usuarios > .btn-emp-desktop {
  display: flex !important;
  width: 100%;
  height: 52px;
  min-height: 52px !important;
  margin: 0;
  padding: 0 25px;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  appearance: none;
  background: var(--carteira-nav-item);
  color: var(--carteira-nav-text);
  font: 400 13px/16px var(--carteira-fonte-sistema);
  text-align: left;
  cursor: pointer;
  transition: background var(--carteira-transition);
}
body.layout-acesso .acesso-lista-usuarios > .btn-emp-desktop:hover {
  background: var(--carteira-nav-item-hover);
}
body.layout-acesso .acesso-lista-usuarios > .btn-emp-desktop.is-active {
  background: var(--carteira-nav-item-active);
  color: #fff;
  font-weight: 600;
}
body.layout-acesso .acesso-lista-usuarios > .btn-emp-desktop:first-child {
  border-radius: 5px 5px 0 0;
}
body.layout-acesso .acesso-lista-usuarios > .btn-emp-desktop:last-child {
  border-radius: 0 0 5px 5px;
}
body.layout-acesso .acesso-lista-usuarios > .btn-emp-desktop:only-child {
  border-radius: 5px;
}
body.layout-acesso .acesso-lista-usuarios > .btn-emp-desktop span {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.layout-acesso .acesso-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 25px;
}
body.layout-acesso #menu-acesso-mobile {
  display: none !important;
  width: 100%;
  max-width: var(--carteira-shell-mobile);
  margin: 0 auto;
}
body.layout-acesso .acesso-seletor-mobile {
  position: relative;
  width: 100%;
  max-width: var(--carteira-shell-mobile);
  margin: 0 auto;
  z-index: 40;
}
body.layout-acesso #btn-aba-mobile {
  display: flex;
  width: 100%;
  max-width: var(--carteira-shell-mobile);
  margin: 0 auto;
  padding: 14px 16px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 0;
  border-radius: 8px;
  appearance: none;
  font: 600 14px/18px var(--carteira-fonte-sistema);
  cursor: pointer;
  transition: background var(--carteira-transition);
}
body.layout-acesso #btn-aba-mobile span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.layout-acesso #btn-aba-mobile svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}
body.layout-acesso #menu-acesso-mobile > .carteira-seletor-item {
  display: flex;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 0 12px;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  appearance: none;
  font: 500 12px/16px var(--carteira-fonte-sistema);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--carteira-transition), background var(--carteira-transition);
}

@media (max-width: 829px) {
  body.layout-acesso #bloco-nav-desktop {
    display: none !important;
  }
  body.layout-acesso #menu-acesso-mobile.is-open {
    display: flex !important;
    position: absolute;
    z-index: 50;
    top: calc(100% + 4px);
    left: 0;
  }
  body.layout-acesso .acesso-cabecalho {
    padding: 25px;
  }
  body.layout-acesso .acesso-cabecalho-titulo--desktop {
    display: none;
  }
  body.layout-acesso .acesso-cabecalho-titulo--mobile {
    display: block;
  }
}

/* Panorama visual: relatório gerencial contínuo. */
body.layout-panorama-novo { background: #fff; }
body.layout-panorama-novo .panorama-page { width: min(1040px, 100%); background: #fff; }
body.layout-panorama-novo .panorama-topo { padding: 38px 30px 34px; background: #242424; }
body.layout-panorama-novo .panorama-topo::before,
body.layout-panorama-novo .panorama-abas::before { display: none; }
body.layout-panorama-novo .panorama-topo-linha { min-height: 0; }
body.layout-panorama-novo .panorama-topo h1 { font-size: 32px; line-height: 38px; }
body.layout-panorama-novo .panorama-topo-linha > span { color: #aaa; font: 600 9px/12px var(--carteira-fonte-sistema); text-transform: uppercase; }
body.layout-panorama-novo .panorama-conteudo { padding: 0 30px 60px; }
body.layout-panorama-novo .panorama-bloco { padding: 46px 0 50px; border-bottom: 1px solid #ddd; }
body.layout-panorama-novo .panorama-bloco:last-child { padding-bottom: 0; border-bottom: 0; }
body.layout-panorama-novo .panorama-bloco-cabecalho { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
body.layout-panorama-novo .panorama-bloco-cabecalho span { color: #888; font: 600 9px/12px var(--carteira-fonte-sistema); text-transform: uppercase; }
body.layout-panorama-novo .panorama-bloco-cabecalho h2 { margin: 5px 0 0; color: #111; font: 700 20px/25px var(--carteira-fonte-sistema); }
body.layout-panorama-novo .panorama-bloco-cabecalho > strong { color: #111; font: 700 19px/24px var(--carteira-fonte-sistema); }
body.layout-panorama-novo .panorama-carteira-barra { display: flex; width: 100%; height: 58px; overflow: hidden; background: #eee; border-radius: var(--carteira-card-radius); }
body.layout-panorama-novo .panorama-carteira-barra span { min-width: 2px; }
body.layout-panorama-novo .is-liquidado { --panorama-cor: #86b987; }
body.layout-panorama-novo .is-regular { --panorama-cor: #a7afb5; }
body.layout-panorama-novo .is-residual { --panorama-cor: #bd9c65; }
body.layout-panorama-novo .is-vencido { --panorama-cor: #d40d0d; }
body.layout-panorama-novo .is-juridico { --panorama-cor: #494949; }
body.layout-panorama-novo .panorama-carteira-barra span { background: var(--panorama-cor); }
body.layout-panorama-novo .panorama-carteira-legenda { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
body.layout-panorama-novo .panorama-carteira-legenda > div { position: relative; padding-top: 15px; }
body.layout-panorama-novo .panorama-carteira-legenda > div::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--panorama-cor); border-radius: 999px; }
body.layout-panorama-novo .panorama-carteira-legenda span { display: block; overflow: hidden; color: #777; font: 500 9px/12px var(--carteira-fonte-sistema); text-overflow: ellipsis; white-space: nowrap; }
body.layout-panorama-novo .panorama-carteira-legenda strong { display: block; margin-top: 5px; font: 700 13px/17px var(--carteira-fonte-sistema); }
body.layout-panorama-novo .panorama-composicao-areas { display: flex; min-height: 230px; gap: 4px; }
body.layout-panorama-novo .panorama-composicao-areas > div { display: flex; min-width: 120px; flex-basis: 0; flex-direction: column; justify-content: flex-end; padding: 20px; overflow: hidden; border-radius: var(--carteira-card-radius); }
body.layout-panorama-novo .panorama-composicao-areas .is-principal { background: #cbd8de; }
body.layout-panorama-novo .panorama-composicao-areas .is-secundario { background: #d8e5d4; }
body.layout-panorama-novo .panorama-composicao-areas .is-terciario { background: #e6dbbc; }
body.layout-panorama-novo .panorama-composicao-areas .is-quaternario { background: #ececec; }
body.layout-panorama-novo .panorama-composicao-areas strong { font: 700 18px/22px var(--carteira-fonte-sistema); white-space: nowrap; }
body.layout-panorama-novo .panorama-composicao-areas span { margin-top: 6px; color: #626b70; font: 500 10px/13px var(--carteira-fonte-sistema); white-space: nowrap; }
body.layout-panorama-novo .panorama-ranking { display: grid; gap: 14px; }
body.layout-panorama-novo .panorama-ranking-linha { display: grid; grid-template-columns: 155px minmax(80px, 1fr) 105px; align-items: center; gap: 18px; min-height: 24px; }
body.layout-panorama-novo .panorama-ranking-linha > span { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
body.layout-panorama-novo .panorama-ranking-linha i { height: 8px; overflow: hidden; background: #eee; border-radius: 999px; }
body.layout-panorama-novo .panorama-ranking-linha b { display: block; height: 100%; background: #46565e; border-radius: inherit; }
body.layout-panorama-novo .panorama-ranking-linha strong { font-size: 11px; text-align: right; }
body.layout-panorama-novo .carteira-tabela-matriz { margin: 0; }
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-topo { padding: 25px 20px; }
  body.layout-panorama-novo .panorama-topo h1 { font-size: 24px; line-height: 30px; }
  body.layout-panorama-novo .panorama-conteudo { padding: 0 20px 40px; }
body.layout-panorama-novo .panorama-bloco { padding: 36px 0 40px; }
  body.layout-panorama-novo .panorama-bloco-cabecalho { align-items: flex-start; }
  body.layout-panorama-novo .panorama-bloco-cabecalho > strong { font-size: 15px; line-height: 20px; }
  body.layout-panorama-novo .panorama-carteira-barra { height: 44px; }
  body.layout-panorama-novo .panorama-carteira-legenda { grid-template-columns: 1fr 1fr; }
  body.layout-panorama-novo .panorama-composicao-areas { display: grid; grid-template-columns: 1fr 1fr; min-height: 0; }
  body.layout-panorama-novo .panorama-composicao-areas > div { min-width: 0; min-height: 105px; }
  body.layout-panorama-novo .panorama-ranking-linha { grid-template-columns: 105px minmax(45px, 1fr) 78px; gap: 10px; }
}
/* Panorama visual: faixas integrais e tipografia ampliada. */
body.layout-panorama-novo .panorama-topo {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-right: 0;
  padding-left: 0;
}
body.layout-panorama-novo .panorama-topo-inner {
  width: min(980px, calc(100% - 60px));
  margin: 0 auto;
}
body.layout-panorama-novo .panorama-topo-linha > span,
body.layout-panorama-novo .panorama-bloco-cabecalho span,
body.layout-panorama-novo .panorama-carteira-legenda span,
body.layout-panorama-novo .panorama-composicao-areas span {
  font-size: 12px;
  line-height: 16px;
}
body.layout-panorama-novo .panorama-bloco {
  position: relative;
  padding-top: 48px;
  padding-bottom: 52px;
  border-bottom: 0;
}
body.layout-panorama-novo .panorama-bloco:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 50%;
  bottom: -2px;
  width: 100vw;
  height: 4px;
  transform: translateX(50%);
  background: #f0f0f0;
}
body.layout-panorama-novo .panorama-bloco:last-child { padding-bottom: 0; }
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-topo { padding-right: 0; padding-left: 0; }
  body.layout-panorama-novo .panorama-topo-inner { width: calc(100% - 40px); }
  body.layout-panorama-novo .panorama-bloco { padding-top: 38px; padding-bottom: 42px; }
}
/* Panorama visual: grade executiva modular. */
body.layout-panorama-novo { background: #f3f4f5; }
body.layout-panorama-novo .panorama-page { background: #f3f4f5; }
body.layout-panorama-novo .panorama-conteudo { display: grid; gap: 18px; padding-top: 24px; }
body.layout-panorama-novo .panorama-bloco {
  padding: 26px;
  border: 0;
  background: #fff;
}
body.layout-panorama-novo .panorama-bloco::after { display: none !important; }
body.layout-panorama-novo .panorama-bloco:last-child { padding-bottom: 26px; }
body.layout-panorama-novo .panorama-bloco-cabecalho { min-height: 34px; margin-bottom: 24px; }
body.layout-panorama-novo .panorama-bloco-cabecalho h2 { margin: 0; font-size: 20px; line-height: 25px; }
body.layout-panorama-novo .panorama-grade-dupla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
body.layout-panorama-novo .panorama-grade-dupla .panorama-bloco { min-width: 0; }
body.layout-panorama-novo .panorama-grade-dupla .panorama-bloco-cabecalho { align-items: flex-start; }
body.layout-panorama-novo .panorama-grade-dupla .panorama-bloco-cabecalho > strong { font-size: 15px; line-height: 20px; }
body.layout-panorama-novo .panorama-composicao-areas { display: grid; grid-template-columns: 1.5fr 1fr; min-height: 252px; }
body.layout-panorama-novo .panorama-composicao-areas > div { min-width: 0; min-height: 122px; }
body.layout-panorama-novo .panorama-composicao-areas strong { font-size: 15px; line-height: 20px; }
body.layout-panorama-novo .panorama-composicao-areas span { font-size: 11px; line-height: 15px; }
body.layout-panorama-novo .panorama-ranking { gap: 16px; }
body.layout-panorama-novo .panorama-ranking-linha { grid-template-columns: 110px minmax(40px, 1fr) 82px; gap: 10px; }
body.layout-panorama-novo .panorama-ranking-linha > span,
body.layout-panorama-novo .panorama-ranking-linha strong { font-size: 10px; }
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-conteudo { gap: 12px; padding-top: 16px; }
body.layout-panorama-novo .panorama-grade-dupla { grid-template-columns: 1fr; gap: 12px; }
  body.layout-panorama-novo .panorama-bloco,
  body.layout-panorama-novo .panorama-bloco:last-child { padding: 22px 20px; }
  body.layout-panorama-novo .panorama-composicao-areas { grid-template-columns: 1fr 1fr; min-height: 0; }
}
/* Panorama visual: leitura segmentada. */
body.layout-panorama-novo .panorama-faixa-secao {
  width: 100vw;
  margin: 10px 0 -18px calc(50% - 50vw);
  padding: 13px max(30px, calc((100vw - 980px) / 2));
  background: #303030;
}
body.layout-panorama-novo .panorama-faixa-secao span {
  color: #fff;
  font: 700 12px/16px var(--carteira-fonte-sistema);
}
body.layout-panorama-novo .panorama-bloco--analises { padding-top: 0; }
body.layout-panorama-novo .panorama-analises-cabecalho {
  display: flex;
  gap: 0;
  margin: 0 -26px 26px;
  border-bottom: 1px solid #e5e5e5;
}
body.layout-panorama-novo .panorama-analise-botao {
  min-height: 54px;
  padding: 0 26px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #888;
  font: 600 12px/16px var(--carteira-fonte-sistema);
  cursor: pointer;
  transition: color var(--carteira-transition), border-color var(--carteira-transition);
}
body.layout-panorama-novo .panorama-analise-botao:hover { color: #111; }
body.layout-panorama-novo .panorama-analise-botao.is-active { border-bottom-color: #c00; color: #111; }
body.layout-panorama-novo .panorama-analise-painel[hidden] { display: none; }
body.layout-panorama-novo .panorama-analise-total {
  display: flex;
  min-height: 28px;
  margin-bottom: 18px;
  align-items: center;
  justify-content: flex-end;
}
body.layout-panorama-novo .panorama-analise-total strong { font-size: 18px; line-height: 24px; }
body.layout-panorama-novo .panorama-bloco--analises .panorama-composicao-areas { min-height: 280px; }
body.layout-panorama-novo .panorama-bloco--analises .panorama-ranking { padding: 8px 0; }
body.layout-panorama-novo .panorama-bloco--analises .panorama-ranking-linha { grid-template-columns: 160px minmax(80px, 1fr) 105px; gap: 18px; }
body.layout-panorama-novo .panorama-bloco--analises .panorama-ranking-linha > span,
body.layout-panorama-novo .panorama-bloco--analises .panorama-ranking-linha strong { font-size: 11px; }
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-faixa-secao {
    margin-top: 4px;
    margin-bottom: -12px;
    padding-right: 20px;
    padding-left: 20px;
  }
  body.layout-panorama-novo .panorama-analises-cabecalho { margin-right: -20px; margin-left: -20px; }
  body.layout-panorama-novo .panorama-analise-botao { width: 50%; padding: 0 12px; }
  body.layout-panorama-novo .panorama-bloco--analises .panorama-composicao-areas { min-height: 0; }
  body.layout-panorama-novo .panorama-bloco--analises .panorama-ranking-linha { grid-template-columns: 105px minmax(45px, 1fr) 78px; gap: 10px; }
}
/* Panorama: estrutura desktop com navegacao global lateral. */
@media (min-width: 830px) {
  body.layout-panorama-novo { min-height: 100vh; background: #f3f4f5; }
  body.layout-panorama-novo > header { display: none; }
  body.layout-panorama-novo #gaveta {
    top: 0 !important;
    left: 0 !important;
    width: 220px !important;
    height: 100vh !important;
    border-right: 1px solid #e4e5e6;
    box-shadow: none !important;
  }
  body.layout-panorama-novo #gaveta::before {
    content: '';
    display: block;
    width: 100%;
    height: 76px;
    flex: 0 0 76px;
    border-bottom: 1px solid #eee;
    background: #fff url('/app/img/marca.png') no-repeat 24px center / auto 38px;
  }
  body.layout-panorama-novo #gaveta nav { padding: 14px 10px !important; }
  body.layout-panorama-novo #gaveta nav > div { padding-right: 14px !important; padding-left: 14px !important; }
  body.layout-panorama-novo #gaveta nav > a { min-height: 38px; padding: 0 14px !important; border-radius: 4px; }
  body.layout-panorama-novo #gaveta nav > a:hover { background: #f4f4f4; }
  body.layout-panorama-novo #gaveta nav > a[href="/app/carteira/panorama"] { background: #ededed; color: #111 !important; font-weight: 600 !important; }
  body.layout-panorama-novo .panorama-page { width: auto; min-height: 100vh; margin-left: 220px; background: #f3f4f5; }
  body.layout-panorama-novo .panorama-topo { width: auto; margin-left: 0; padding: 22px 30px; background: #fff; border-bottom: 1px solid #e4e5e6; }
  body.layout-panorama-novo .panorama-topo-inner { width: min(1180px, 100%); }
  body.layout-panorama-novo .panorama-topo h1 { color: #111; font-size: 24px; line-height: 30px; }
  body.layout-panorama-novo .panorama-topo-linha > span { color: #999; }
  body.layout-panorama-novo .panorama-conteudo { width: min(1180px, 100%); margin: 0 auto; padding: 24px 30px 50px; }
}
/* Panorama editorial vertical. */
body.layout-panorama-novo { min-height: 100vh; background: #fff; }
body.layout-panorama-novo > header { display: block; }
body.layout-panorama-novo #gaveta {
  top: 0 !important;
  right: -280px;
  left: auto !important;
  width: 280px !important;
  height: 100vh !important;
  border-right: 0;
}
body.layout-panorama-novo #gaveta::before { display: none; }
body.layout-panorama-novo #gaveta nav { padding: 25px 0 !important; }
body.layout-panorama-novo #gaveta nav > div { padding-right: 25px !important; padding-left: 25px !important; }
body.layout-panorama-novo #gaveta nav > a { min-height: 0; padding: 9px 24px !important; border-radius: 0; }
body.layout-panorama-novo #gaveta nav > a:hover,
body.layout-panorama-novo #gaveta nav > a[href="/app/carteira/panorama"] { background: transparent; }
body.layout-panorama-novo .panorama-page { width: 100%; min-height: calc(100vh - 60px); margin-left: 0; background: #fff; }
body.layout-panorama-novo .panorama-topo {
  width: 100%;
  margin-left: 0;
  padding: 54px 30px;
  background: #242424;
  border: 0;
}
body.layout-panorama-novo .panorama-topo-inner { width: min(900px, calc(100% - 60px)); }
body.layout-panorama-novo .panorama-topo h1 { color: #fff; font-size: 46px; line-height: 52px; }
body.layout-panorama-novo .panorama-topo-linha > span { color: #aaa; }
body.layout-panorama-novo .panorama-conteudo {
  display: block;
  width: min(960px, 100%);
  margin: 0 auto;
  padding: 0 30px 70px;
}
body.layout-panorama-novo .panorama-bloco,
body.layout-panorama-novo .panorama-bloco:last-child {
  position: relative;
  padding: 54px 0;
  background: #fff;
  border: 0;
}
body.layout-panorama-novo .panorama-bloco:not(:last-child)::after {
  content: '';
  display: block !important;
  position: absolute;
  right: 50%;
  bottom: -3px;
  width: 100vw;
  height: 6px;
  transform: translateX(50%);
  background: #f1f2f3;
}
body.layout-panorama-novo .panorama-bloco-cabecalho { min-height: 48px; margin-bottom: 38px; align-items: center; }
body.layout-panorama-novo .panorama-bloco-cabecalho h2 { margin: 0; font-size: 34px; line-height: 42px; }
body.layout-panorama-novo .panorama-bloco-cabecalho > strong { font-size: 21px; line-height: 26px; }
body.layout-panorama-novo .panorama-composicao-areas { display: flex; min-height: 270px; }
body.layout-panorama-novo .panorama-composicao-areas > div { min-width: 120px; }
body.layout-panorama-novo .panorama-ranking { gap: 18px; }
body.layout-panorama-novo .panorama-ranking-linha { grid-template-columns: 170px minmax(90px, 1fr) 110px; gap: 20px; }
body.layout-panorama-novo .panorama-ranking-linha > span,
body.layout-panorama-novo .panorama-ranking-linha strong { font-size: 12px; }
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-topo { padding: 34px 20px; }
  body.layout-panorama-novo .panorama-topo-inner { width: 100%; }
  body.layout-panorama-novo .panorama-topo h1 { font-size: 34px; line-height: 40px; }
  body.layout-panorama-novo .panorama-conteudo { padding: 0 20px 50px; }
  body.layout-panorama-novo .panorama-bloco,
  body.layout-panorama-novo .panorama-bloco:last-child { padding: 34px 0; }
  body.layout-panorama-novo .panorama-bloco-cabecalho { min-height: 38px; margin-bottom: 26px; align-items: flex-start; }
  body.layout-panorama-novo .panorama-bloco-cabecalho h2 { font-size: 27px; line-height: 34px; }
  body.layout-panorama-novo .panorama-composicao-areas { display: grid; grid-template-columns: 1fr 1fr; min-height: 0; }
  body.layout-panorama-novo .panorama-ranking-linha { grid-template-columns: 105px minmax(45px, 1fr) 78px; gap: 10px; }
}
/* Panorama editorial: faixas alternadas em largura total. */
body.layout-panorama-novo .panorama-bloco { overflow: visible; background: transparent; }
body.layout-panorama-novo .panorama-bloco::after { display: none !important; }
body.layout-panorama-novo .panorama-bloco:nth-of-type(1) { box-shadow: 0 0 0 100vmax #f7f7f7; clip-path: inset(0 -100vmax); }
body.layout-panorama-novo .panorama-bloco:nth-of-type(2) { box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax); }
body.layout-panorama-novo .panorama-bloco:nth-of-type(3) { box-shadow: 0 0 0 100vmax #f4f4f4; clip-path: inset(0 -100vmax); }
body.layout-panorama-novo .panorama-bloco:nth-of-type(4) { box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax); }
body.layout-panorama-novo .panorama-bloco:nth-of-type(5) { box-shadow: 0 0 0 100vmax #f7f7f7; clip-path: inset(0 -100vmax); }
/* Panorama editorial: continuidade entre o miolo e as laterais das faixas. */
body.layout-panorama-novo .panorama-bloco:nth-of-type(1) { background: #f7f7f7; }
body.layout-panorama-novo .panorama-bloco:nth-of-type(2) { background: #fff; }
body.layout-panorama-novo .panorama-bloco:nth-of-type(3) { background: #f4f4f4; }
body.layout-panorama-novo .panorama-bloco:nth-of-type(4) { background: #fff; }
body.layout-panorama-novo .panorama-bloco:nth-of-type(5) { background: #f7f7f7; }

/* Panorama editorial: escala tipografica e composicao legivel. */
body.layout-panorama-novo .panorama-bloco-cabecalho > strong {
  font-size: 34px;
  line-height: 42px;
}
body.layout-panorama-novo .panorama-composicao-areas {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}
body.layout-panorama-novo .panorama-composicao-areas > div {
  min-width: 0;
  overflow: visible;
}
body.layout-panorama-novo .panorama-composicao-areas strong,
body.layout-panorama-novo .panorama-composicao-areas span {
  overflow-wrap: anywhere;
  white-space: normal;
}
body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-cabecalho,
body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha,
body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-total,
body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-matriz-valor {
  font-size: 12px;
  line-height: 16px;
}
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-bloco-cabecalho > strong { font-size: 27px; line-height: 34px; }
  body.layout-panorama-novo .panorama-composicao-areas { grid-template-columns: 1fr 1fr; }
  body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-cabecalho,
  body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha,
  body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-total,
  body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-matriz-valor { font-size: 11px; line-height: 15px; }
}
/* Panorama: maior respiro vertical na matriz de inadimplencia. */
body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-cabecalho,
body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-linha,
body.layout-panorama-novo .carteira-tabela-matriz--inadimplencia .carteira-tabela-matriz-total {
  min-height: 44px;
}
/* Panorama mobile: conteudo alinhado ao wrapper do cabecalho global. */
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-topo-inner {
    width: min(400px, 100%);
    margin-right: auto;
    margin-left: auto;
  }
  body.layout-panorama-novo .panorama-conteudo {
    width: min(440px, 100%);
    margin-right: auto;
    margin-left: auto;
  }
}


/* Panorama: iconografia editorial das secoes. */
body.layout-panorama-novo .panorama-bloco-cabecalho > div {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}
body.layout-panorama-novo .panorama-secao-icone {
  order: 2;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  color: #e2e4e6 !important;
  font-family: 'Material Symbols Outlined' !important;
  font-style: normal;
  font-weight: 200;
  font-size: 40px !important;
  line-height: 40px !important;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' -25, 'opsz' 24;
}
body.layout-panorama-novo .panorama-bloco:nth-of-type(1) .panorama-secao-icone,
body.layout-panorama-novo .panorama-bloco:nth-of-type(3) .panorama-secao-icone {
  color: #d4d7da !important;
}
@media (max-width: 829px) {
  body.layout-panorama-novo .panorama-bloco-cabecalho > div { gap: 10px; }
  body.layout-panorama-novo .panorama-secao-icone { width: 32px; height: 32px; flex-basis: 32px; font-size: 32px !important; line-height: 32px !important; }
}
/* Panorama: matriz de aging. */
body.layout-panorama-novo .carteira-tabela-matriz--aging .carteira-tabela-matriz-cabecalho,
body.layout-panorama-novo .carteira-tabela-matriz--aging .carteira-tabela-matriz-linha,
body.layout-panorama-novo .carteira-tabela-matriz--aging .carteira-tabela-matriz-total {
  min-height: 44px;
  font-size: 12px;
  line-height: 16px;
}
body.layout-panorama-novo .panorama-bloco:nth-of-type(5) .panorama-secao-icone { color: #d4d7da !important; }
@media (max-width: 829px) {
  body.layout-panorama-novo .carteira-tabela-matriz--aging .carteira-tabela-matriz-cabecalho,
  body.layout-panorama-novo .carteira-tabela-matriz--aging .carteira-tabela-matriz-linha,
  body.layout-panorama-novo .carteira-tabela-matriz--aging .carteira-tabela-matriz-total { font-size: 11px; line-height: 15px; }
}