*,
:before,
:after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: #0000;
  height: 100%;
}

body {
  min-height: 100%;
  margin: 0;
  padding: 0;
}

#root {
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

img,
picture,
svg,
video,
canvas {
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

.map-abas {
  align-items: flex-end;
  gap: .2rem;
  min-width: 0;
  display: flex;
  overflow-x: auto;
}

.map-aba {
  color: inherit;
  opacity: .65;
  cursor: pointer;
  white-space: nowrap;
  background: 0 0;
  border: 1px solid #0000;
  border-bottom: none;
  border-radius: 7px 7px 0 0;
  padding: .3rem .6rem;
  font-size: .78rem;
}

.map-aba.is-ativa {
  background: var(--app-surface,transparent);
  opacity: 1;
  border-color: #80808059;
  font-weight: 600;
}

.map-panel-titulo {
  flex: none;
  padding-bottom: .35rem;
  font-size: .9rem;
  font-weight: 700;
}

.map-panel-menu-toggle {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 9rem;
  margin-bottom: .3rem;
  overflow: hidden;
}

.map-panel-menu-rotulo {
  font-weight: 600;
}

.map-panel-menu-icone {
  vertical-align: -.15em;
  margin-right: .4rem;
  display: inline-flex;
}

.map-panel-layer {
  z-index: 1060;
  pointer-events: none;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: fixed;
  inset: 0;
}

.map-panel {
  pointer-events: auto;
  background-color: var(--app-surface,#fff);
  border: 1px solid #80808059;
  border-top: none;
  border-radius: 0 0 .6rem .6rem;
  flex-direction: column;
  width: 100%;
  min-height: 25%;
  max-height: 75%;
  animation: .18s ease-out map-panel-in;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1rem 3rem #00000059;
}

.map-panel.tem-altura {
  height: var(--map-panel-h);
}

.map-panel.menu-aberto {
  overflow: visible;
}

.map-panel.is-minimizado {
  height: auto;
  min-height: 0;
  max-height: none;
}

@media (width>=992px) {
  .map-panel-layer {
    padding-top: var(--shell-header-h,3.5rem);
    justify-content: flex-start;
  }

  .map-panel {
    width: calc(26rem * var(--map-panel-w,1));
    border-left: none;
    border-radius: 0 0 .6rem;
    max-height: 100%;
  }
}

@keyframes map-panel-in {
  0% {
    opacity: 0;
    transform: translateY(-.75rem);
  }
}

.map-panel-titlebar {
  border-bottom: 1px solid #80808059;
  flex: none;
  align-items: flex-end;
  gap: .3rem;
  padding: .35rem .4rem 0 .75rem;
  display: flex;
}

.map-panel-janela {
  align-items: center;
  gap: .5rem;
  padding-bottom: .2rem;
  display: flex;
}

.map-panel.is-minimizado .map-panel-titlebar {
  border-bottom: none;
}

.map-panel-conteudo {
  flex: auto;
  min-height: 0;
  padding: .75rem .8rem;
  overflow-y: auto;
}

.map-panel-resize,
.map-panel-resize-w {
  touch-action: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.map-panel-resize {
  cursor: ns-resize;
  flex: none;
  height: 1.15rem;
}

.map-panel-resize-w {
  cursor: ew-resize;
  width: .5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.map-panel-resize:focus-visible,
.map-panel-resize-w:focus-visible {
  outline: 2px solid var(--app-primary,#0d6efd);
  outline-offset: -3px;
  border-radius: .4rem;
}

.map-panel-grip {
  opacity: .8;
  width: 2.25rem;
  height: 4px;
}

.map-panel-grip-w {
  opacity: .8;
  width: 4px;
  height: 2.25rem;
}

.map-panel-resize:hover .map-panel-grip,
.map-panel-resize:focus-visible .map-panel-grip,
.map-panel-resize-w:hover .map-panel-grip-w,
.map-panel-resize-w:focus-visible .map-panel-grip-w {
  opacity: 1;
}

.map-panel-body {
  flex-direction: column;
  gap: .6rem;
  display: flex;
}

.map-panel-spacer {
  flex: auto;
}

.map-panel-x {
  cursor: pointer;
  width: 2.5rem;
  height: 2.25rem;
  color: inherit;
  opacity: .75;
  background: 0 0;
  border: 0;
  border-radius: .4rem;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 1.3rem;
  line-height: 1;
  display: inline-flex;
}

.map-panel-x:hover,
.map-panel-x:focus-visible {
  opacity: 1;
  background: #8080802e;
}

.map-panel-x:disabled {
  opacity: .35;
  cursor: default;
}

.map-panel-x:disabled:hover {
  background: 0 0;
}

.map-panel-mover {
  font-size: 1.05rem;
}

.map-panel-dica {
  z-index: 1085;
  overflow: visible;
}

.map-panel-row {
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .15rem .5rem;
  font-size: .82rem;
  display: grid;
}

.map-panel-row>select,
.map-panel-row>input {
  grid-column: 1/-1;
}

.map-panel-val {
  font-variant-numeric: tabular-nums;
  opacity: .7;
}

.map-panel-acoes {
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.map-panel-leitura {
  font-variant-numeric: tabular-nums;
  opacity: .7;
  white-space: nowrap;
  font-size: .75rem;
}

.map-panel-leitura-bloco {
  font-variant-numeric: tabular-nums;
  opacity: .7;
  margin: 0;
  font-size: .75rem;
}

.map-panel-nota,
.map-panel-erro {
  opacity: .8;
  margin: 0;
  font-size: .75rem;
}

.map-panel-erro.is-grave {
  opacity: 1;
  color: var(--app-danger,currentColor);
}

.map-panel-fontes {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.map-panel-fonte {
  border-radius: 6px;
  align-items: center;
  gap: .4rem;
  padding: .2rem .3rem;
  font-size: .8rem;
  display: flex;
}

.map-panel-fonte.tem-resultado {
  cursor: pointer;
}

.map-panel-fonte.tem-resultado:hover {
  background: #80808024;
}

.map-panel-fonte.is-aberta {
  background: #8080802e;
}

.map-panel-fonte-cor {
  border: 2px solid #fff;
  border-radius: 50%;
  flex: none;
  width: .65rem;
  height: .65rem;
  box-shadow: 0 0 0 1px #00000040;
}

.map-panel-fonte-nome {
  flex: 1;
}

.map-panel-fonte-qtd {
  font-variant-numeric: tabular-nums;
  opacity: .85;
  font-size: .75rem;
}

.map-panel-fonte-link {
  color: var(--app-primary,#0d6efd);
  text-underline-offset: 2px;
  font-weight: 600;
  text-decoration: underline;
}

.map-res-cab {
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  display: flex;
}

.map-res-lista {
  flex-direction: column;
  display: flex;
}

.map-res-item {
  text-align: left;
  width: 100%;
  color: inherit;
  font: inherit;
  cursor: pointer;
  background: 0 0;
  border: none;
  border-bottom: 1px solid #80808033;
  border-radius: 4px;
  padding: .4rem .5rem;
  font-size: .8rem;
  display: block;
}

.map-res-item:hover {
  background: #80808024;
}

.map-res-item.is-sel {
  box-shadow: inset 3px 0 0 var(--app-primary,#0d6efd);
  background: #80808033;
}

.map-res-nome {
  display: block;
}

.map-res-detalhe {
  opacity: .65;
  font-variant-numeric: tabular-nums;
  font-size: .7rem;
  display: block;
}

.map-panel-check {
  cursor: pointer;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  display: flex;
}

.shell-brand {
  color: inherit!important;
}

.shell-root {
  height: 100vh;
  height: calc(100dvh - var(--faixa-manutencao-h,0px) - var(--faixa-sessao-h,0px));
  z-index: 1;
  position: relative;
  overflow: hidden;
}

.shell-body {
  min-height: 0;
}

.shell-main {
  min-width: 0;
  overflow: auto;
}

.shell-root.map-bg-on .shell-header {
  background-color: #0000!important;
}

.shell-root.map-interactive,
.shell-root.map-interactive .shell-body,
.shell-root.map-interactive .shell-main {
  pointer-events: none;
}

.shell-root.map-interactive .shell-header,
.shell-root.map-interactive .shell-sidebar,
.shell-root.map-interactive .shell-backdrop {
  pointer-events: auto;
}

.shell-root.map-interactive .shell-main {
  opacity: var(--map-page-opacity,0);
}

.route-loading {
  opacity: .7;
  justify-content: center;
  align-items: center;
  min-height: 12rem;
  display: flex;
}

.shell-sidebar-toggle {
  display: none!important;
}

@media (width<=991.98px) {
  .shell-sidebar {
    z-index: 1045;
    background-color: var(--app-surface,transparent);
    width: 15rem;
    max-width: 85vw;
    transition: transform .25s ease-in-out;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    transform: translate(-100%);
  }

  .shell-sidebar.is-open {
    transform: translate(0);
    box-shadow: 0 0 2rem #00000059;
  }

  .shell-backdrop {
    z-index: 1040;
    background: #00000080;
    position: fixed;
    inset: 0;
  }
}

.shell-header-actions {
  flex-direction: column;
  align-items: stretch;
  gap: .5rem;
  padding-top: .5rem;
  display: flex;
}

@media (width>=992px) {
  .shell-header-actions {
    flex-direction: row;
    align-items: center;
    margin-left: auto;
    padding-top: 0;
  }

  .shell-sidebar {
    width: auto;
    min-width: 13rem;
    position: static;
    overflow-y: auto;
    transform: none;
  }

  .shell-sidebar.is-collapsed {
    display: none;
  }

  .shell-drawer-toggle {
    display: none!important;
  }

  .shell-sidebar-toggle {
    display: inline-flex!important;
  }
}

.dashboard-painel {
  width: 100%;
  overflow: hidden;
  height: 100%!important;
}

.dashboard-hero {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  flex: 1;
}

.migalha {
  line-height: 1.35;
  display: inline;
}

.migalha-sep {
  opacity: .55;
  padding: 0 .1em;
}

.migalha-item {
  text-decoration: none;
}

.migalha-item:hover,
.migalha-item:focus-visible {
  text-decoration: underline;
}

.migalha-item:not(:last-child) {
  opacity: .8;
}

.app-modal-cab.app-modal-cab.is-compacto {
  align-items: center;
  min-height: 0;
  padding-top: .1rem;
  padding-bottom: .1rem;
}

.app-modal-cab.is-compacto .app-modal-titulo {
  margin: 0;
  font-size: .95rem;
  line-height: 1.2;
}

.app-modal-cab.app-modal-cab.is-compacto .app-modal-x.app-modal-x {
  background-size: .65rem;
  width: .9rem;
  height: .9rem;
  margin: 0 0 0 auto;
  padding: 0;
}

.end-seletor {
  flex-direction: column;
  gap: .7rem;
  display: flex;
}

.end-grade {
  grid-template-columns: 9rem 1fr;
  gap: .7rem;
  display: grid;
}

.end-campo {
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
  display: flex;
}

.end-campo>span {
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .75;
  font-size: .7rem;
  font-weight: 600;
}

.end-num {
  font-variant-numeric: tabular-nums;
}

.end-logradouro {
  grid-template-columns: 9.5rem 1fr;
  align-items: end;
  gap: .5rem;
  display: grid;
}

.end-ta {
  position: relative;
}

.end-ta-status {
  opacity: .6;
  pointer-events: none;
  position: absolute;
  top: .25rem;
  right: .5rem;
}

.end-ta-lista {
  z-index: 20;
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  background: var(--app-surface,Canvas);
  border-radius: 5px;
  max-height: 14rem;
  margin-top: 2px;
  padding: .15rem;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: auto;
  box-shadow: 0 8px 24px -12px #00000073;
}

.end-ta-item {
  cursor: pointer;
  border-radius: 3px;
  align-items: baseline;
  gap: .4rem;
  padding: .28rem .4rem;
  font-size: .88rem;
  display: flex;
}

.end-ta-item:hover,
.end-ta-item.ativo {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.end-ta-vazio {
  opacity: .7;
  padding: .4rem;
  font-size: .82rem;
}

.end-ctx {
  text-align: right;
  opacity: .7;
  flex-direction: column;
  margin-left: auto;
  font-size: .76rem;
  display: flex;
}

.end-faixa {
  font-style: italic;
}

.end-origem {
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .75;
  border: 1px solid;
  border-radius: 3px;
  flex: none;
  padding: .02rem .28rem;
  font-size: .62rem;
}

.end-origem-tenant {
  color: var(--app-success,currentColor);
}

.end-origem-global {
  color: var(--app-secondary,currentColor);
}

.end-origem-dne {
  color: var(--app-warning,currentColor);
}

.end-achado {
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  background: color-mix(in srgb, currentColor 5%, transparent);
  border-radius: 5px;
  flex-direction: column;
  gap: .1rem;
  padding: .4rem .55rem;
  display: flex;
}

.end-tabela-rolagem {
  max-height: 12rem;
  overflow: auto;
}

.end-tabela {
  border-collapse: collapse;
  width: 100%;
  font-size: .86rem;
}

.end-tabela th {
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .7;
  background: var(--app-surface,Canvas);
  border-bottom: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  padding: .25rem .45rem;
  font-size: .66rem;
  position: sticky;
  top: 0;
}

.end-tabela td {
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  padding: .25rem .45rem;
}

.end-tabela tbody tr {
  cursor: pointer;
}

.end-tabela tbody tr:hover td {
  background: color-mix(in srgb, currentColor 8%, transparent);
}

.end-tabela .end-num {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.end-barra {
  border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  grid-template-columns: 7rem 1fr auto;
  align-items: end;
  gap: .5rem;
  padding-top: .55rem;
  display: grid;
}

@media (width<=30rem) {
  .end-grade,
  .end-logradouro {
    grid-template-columns: 1fr;
  }

  .end-barra {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}

.end-acoes {
  justify-content: flex-end;
  display: flex;
}

.end-campo-valor {
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  width: 100%;
  height: auto;
  min-height: 2.05rem;
  line-height: 1.35;
  display: block;
}

.end-campo-vazio {
  opacity: .6;
}

.end-campo-falhou {
  color: var(--app-danger,currentColor);
}

.end-campo-linha {
  align-items: flex-start;
  gap: .25rem;
  display: flex;
}

.end-campo-linha>.end-campo-valor {
  flex: auto;
  min-width: 0;
}

.end-campo-copiar {
  appearance: none;
  width: 2.05rem;
  height: 2.05rem;
  color: inherit;
  opacity: .65;
  cursor: pointer;
  background: 0 0;
  border: 0;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.end-campo-copiar:hover {
  opacity: 1;
}

.end-campo-copiar:focus-visible {
  opacity: 1;
  outline-offset: -2px;
  outline: 2px solid;
}

.end-campo-copiar.copiado {
  opacity: 1;
  color: var(--app-success,currentColor);
}

.end-campo-copiar.falhou {
  opacity: 1;
  color: var(--app-danger,currentColor);
}

.end-link-mapa {
  appearance: none;
  font: inherit;
  white-space: nowrap;
  color: var(--app-primary,currentColor);
  cursor: pointer;
  background: 0 0;
  border: 0;
  padding: 0;
  font-size: .78rem;
  text-decoration: underline;
}

.end-link-mapa:hover {
  text-decoration: none;
}

.end-painel {
  border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
  background: var(--app-surface,Canvas);
  border-radius: 6px;
  margin-top: .5rem;
  padding: .7rem;
  box-shadow: 0 10px 30px -18px #0009;
}

.end-painel-topo {
  justify-content: space-between;
  align-items: baseline;
  gap: .5rem;
  margin-bottom: .5rem;
  display: flex;
}

.end-menu-ancora {
  cursor: default;
  border-radius: 3px;
}

.end-menu-ancora:hover,
.end-menu-ancora:focus-visible {
  text-underline-offset: .18em;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

.end-menu-ancora:focus-visible {
  outline: 2px solid color-mix(in srgb, currentColor 45%, transparent);
  outline-offset: 2px;
}

.end-menu {
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  background: var(--app-surface,Canvas);
  min-width: 11rem;
  color: inherit;
  border-radius: 6px;
  padding: .25rem;
  box-shadow: 0 .5rem 1.2rem #00000038;
}

.end-menu-item {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: 4px;
  align-items: baseline;
  gap: .4rem;
  padding: .35rem .5rem;
  display: flex;
}

.end-menu-item:hover:not(:disabled) {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.end-menu-item:disabled {
  cursor: default;
  opacity: .55;
}

.end-menu-nota {
  opacity: .75;
  font-size: .78em;
}

.end-acoes-celula {
  flex: none;
  align-items: flex-start;
  gap: .1rem;
  display: inline-flex;
}

.end-acao {
  appearance: none;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  width: 1.35rem;
  height: 1.35rem;
  color: inherit;
  opacity: .6;
  cursor: pointer;
  background: 0 0;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.end-acao:hover {
  opacity: 1;
}

.end-acao:focus-visible {
  opacity: 1;
  outline: 2px solid color-mix(in srgb, currentColor 45%, transparent);
  outline-offset: 1px;
}

.end-vinculo {
  border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  flex-direction: column;
  gap: .7rem;
  margin-bottom: .7rem;
  padding-bottom: .7rem;
  display: flex;
}

.end-ficha-vazia {
  opacity: .75;
  margin: 0;
  padding: .6rem .2rem;
}

.end-achado-rua {
  line-height: 1.3;
}

.end-achado-compl {
  opacity: .85;
  font-weight: 400;
}

.end-seletor[data-somente-leitura] .end-barra {
  grid-template-columns: 7rem 1fr;
}

.end-inicial-barra {
  justify-content: flex-end;
  gap: .35rem;
  margin-bottom: -.2rem;
  display: flex;
}

.end-inicial-usar {
  position: relative;
}

.end-inicial-menu {
  z-index: 30;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  background: var(--app-surface,Canvas);
  min-width: 14rem;
  max-width: min(22rem,80vw);
  max-height: 14rem;
  color: inherit;
  border-radius: 6px;
  padding: .25rem;
  position: absolute;
  top: calc(100% + .2rem);
  right: 0;
  overflow-y: auto;
  box-shadow: 0 .5rem 1.2rem #00000038;
}

.end-inicial-item {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: 4px;
  padding: .35rem .5rem;
  font-size: .88rem;
  display: block;
}

.end-inicial-item:hover {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.end-acoes-nivel {
  border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  padding-top: .55rem;
}

.end-acoes-nivel>[data-nivel-vazio],
.end-acoes-nivel>[data-nivel-sem-linha] {
  margin: 0 auto 0 0;
}

.entity-form-chosen-nome[title]:not(.entity-nome-link) {
  text-underline-offset: .2em;
  cursor: help;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

.entity-nomes-alvo.is-empilhado {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 .85em;
  display: inline-flex;
}

.entity-nome-item {
  vertical-align: bottom;
  line-height: 1.3;
  display: inline-block;
}

.entity-nome-valor {
  display: block;
}

.entity-nome-tipo {
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .62;
  white-space: nowrap;
  font-size: .7em;
  display: block;
}

.entity-nome-link {
  color: inherit;
  text-underline-offset: .2em;
  cursor: pointer;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  text-decoration-thickness: 1px;
}

.entity-nome-link:hover,
.entity-nome-link:focus-visible {
  text-decoration-style: solid;
}

.entity-nomes-alvo .entity-form-ta-id {
  opacity: .5;
  font-size: .85em;
}

.entity-nomes-alvo.is-empilhado .entity-form-ta-id {
  align-self: flex-end;
}

.valor-link {
  color: inherit;
  border-bottom: 1px dotted color-mix(in srgb, currentColor 45%, transparent);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.valor-link:hover,
.valor-link:focus-visible {
  color: var(--app-link,currentColor);
  border-bottom-color: currentColor;
}

.ajuda-layout {
  grid-template-columns: minmax(0,1fr);
  gap: 1.5rem;
  display: grid;
}

@media (width>=992px) {
  .ajuda-layout {
    grid-template-columns: 16rem minmax(0,1fr);
    align-items: start;
  }

  .ajuda-indice {
    position: sticky;
    top: 0;
  }
}

.ajuda-texto {
  max-width: 48rem;
  line-height: 1.6;
}

.ajuda-texto p,
.ajuda-texto ul,
.ajuda-texto ol,
.ajuda-texto table,
.ajuda-texto blockquote {
  margin: 0 0 1rem;
}

.ajuda-texto ul,
.ajuda-texto ol {
  padding-left: 1.5rem;
}

.ajuda-texto li+li {
  margin-top: .25rem;
}

.ajuda-texto blockquote>:last-child {
  margin-bottom: 0;
}

.ajuda-texto code {
  background: color-mix(in srgb, currentColor 10%, transparent);
  border-radius: .25rem;
  padding: .1em .3em;
  font-size: .875em;
}

.ajuda-titulo {
  scroll-margin-top: 1rem;
}

.link-ajuda {
  vertical-align: middle;
  opacity: .75;
  border: 1px solid;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  text-decoration: none!important;
}

.link-ajuda:hover,
.link-ajuda:focus-visible {
  opacity: 1;
}

@media (width<=991.98px) {
  .ajuda-so-desktop {
    display: none;
  }
}

.ajuda-busca {
  max-width: 20rem;
}

.ajuda-resumo {
  display: block;
}

.ajuda-subpaginas {
  margin-top: .25rem;
  display: block;
}

.ajuda-subpaginas>*+:before {
  content: "·";
  opacity: .6;
  margin: 0 .4rem;
  display: inline-block;
}

.ajuda-subitem {
  font-size: .875rem;
  padding-left: 2rem!important;
}

.ajuda-trilha-num {
  opacity: .6;
  min-width: 1.5rem;
  display: inline-block;
}

.ajuda-figura {
  margin: 0 0 1.25rem;
}

.ajuda-zoom {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  cursor: zoom-in;
  background: 0 0;
  border-radius: .5rem;
  max-width: 100%;
  padding: 0;
  display: block;
  overflow: hidden;
}

.ajuda-zoom:focus-visible {
  outline: 3px solid var(--app-link,currentColor);
  outline-offset: 2px;
}

.ajuda-zoom img {
  max-width: 100%;
  height: auto;
  display: block;
}

.ajuda-figura figcaption {
  margin-top: .4rem;
}

.visor-imagem {
  z-index: 2000;
  color: #f1f3f5;
  background: #0a0a0cf7;
  outline: none;
  flex-direction: column;
  display: flex;
  position: fixed;
  inset: 0;
}

.visor-barra {
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .5rem .75rem;
  display: flex;
}

.visor-acoes {
  gap: .5rem;
  display: flex;
}

.visor-palco {
  flex: 1;
  justify-content: center;
  align-items: center;
  min-height: 0;
  padding: 0 3.5rem;
  display: flex;
  overflow: hidden;
}

.visor-img {
  object-fit: contain;
  cursor: zoom-in;
  border-radius: .25rem;
  max-width: 100%;
  max-height: 100%;
  box-shadow: 0 .5rem 2rem #0009;
}

.visor-palco.is-real {
  text-align: center;
  padding: 0;
  display: block;
  overflow: auto;
}

.visor-palco.is-real .visor-img {
  cursor: zoom-out;
  max-width: none;
  max-height: none;
}

.visor-seta {
  color: #fff;
  cursor: pointer;
  background: #ffffff24;
  border: 0;
  border-radius: 50%;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 2rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.visor-seta:hover,
.visor-seta:focus-visible {
  background: #ffffff47;
}

.visor-seta-esq {
  left: .5rem;
}

.visor-seta-dir {
  right: .5rem;
}

.visor-legenda {
  text-align: center;
  flex-shrink: 0;
  margin: 0;
  padding: .5rem 1rem .75rem;
  font-size: .9rem;
}

@media (width<=575.98px) {
  .visor-palco {
    padding: 0 .5rem;
  }

  .visor-seta {
    top: auto;
    bottom: 3rem;
    transform: none;
  }
}

.ajuda-publica-topo {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.ajuda-publica-marca {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.ajuda-publica-acoes {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.ajuda-publica-conteudo {
  max-width: 1200px;
  margin: 0 auto;
}

.login-ajuda {
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.login-ajuda-icone {
  flex-shrink: 0;
  font-size: 1.5rem;
  line-height: 1;
}

.login-ajuda p {
  margin-top: 0;
}

.ajuda-copiar-link {
  color: inherit;
  vertical-align: middle;
  cursor: pointer;
  opacity: 0;
  background: 0 0;
  border: 0;
  border-radius: .3rem;
  align-items: center;
  gap: .3rem;
  margin-left: .4rem;
  padding: .15rem .3rem;
  font-size: .8rem;
  font-weight: 400;
  transition: opacity .15s;
  display: inline-flex;
}

.ajuda-titulo:hover .ajuda-copiar-link,
.ajuda-copiar-link:focus-visible,
.ajuda-copiar-link[data-estado] {
  opacity: .7;
}

.ajuda-copiar-link:hover,
.ajuda-copiar-link:focus-visible {
  opacity: 1;
  background: color-mix(in srgb, currentColor 10%, transparent);
}

@media (hover:none) {
  .ajuda-copiar-link {
    opacity: .45;
  }
}

.ajuda-copiar-link[data-estado=copiado]:after {
  content: "Link copiado!";
}

.ajuda-copiar-link[data-estado=falhou]:after {
  content: "Não foi possível copiar";
}

.rel-nav {
  flex: none;
  align-items: center;
}

.rel-nav-btn {
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  min-width: 1.9rem;
  padding-left: .35rem;
  padding-right: .35rem;
  line-height: 1.2;
  display: inline-flex;
}

.rel-nav-btn-forte {
  min-width: 0;
  padding-left: .6rem;
  padding-right: .6rem;
}

.rel-nav-btn.rel-nav-btn-compacto.rel-nav-btn-compacto {
  min-width: 1.4rem;
  height: var(--entity-form-rotulo-h,1rem);
  border-radius: .2rem;
  justify-content: center;
  align-items: center;
  padding: 0 .25rem;
  font-size: .72rem;
  line-height: 1;
  display: inline-flex;
}

.rel-nav-btn.is-off {
  pointer-events: none;
  opacity: .45;
}

.ref-volta {
  border: 1px dashed color-mix(in srgb, var(--app-secondary,currentColor) 45%, transparent);
  background: color-mix(in srgb, var(--app-secondary,currentColor) 6%, transparent);
  border-radius: .3rem;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
  padding: .4rem .65rem;
  font-size: .875rem;
  display: flex;
}

.ref-volta .ms-auto {
  margin-left: auto;
}

.criterios-grade {
  flex-direction: column;
  gap: .6rem;
  display: flex;
}

.criterios-grade-topo {
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  display: flex;
}

.criterios-grade-topo>span {
  flex: 16rem;
}

.criterios-grade-grupo {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: .5rem;
  overflow: hidden;
}

.criterios-grade-cab {
  background: color-mix(in srgb, currentColor 4%, transparent);
  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  align-items: center;
  gap: .25rem;
  padding: .2rem .4rem .2rem .2rem;
  display: flex;
}

.criterios-grade-cab-fechado {
  border-bottom: 0;
}

.criterios-grade-cab-edicao {
  flex-wrap: wrap;
  gap: .45rem;
  padding: .5rem .8rem;
}

.criterios-grade-toggle {
  min-width: 0;
  min-height: 2.5rem;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: .375rem;
  flex-wrap: wrap;
  flex: auto;
  align-items: center;
  gap: .5rem;
  padding: .25rem .5rem;
  display: flex;
}

.criterios-grade-toggle:hover {
  background: color-mix(in srgb, currentColor 7%, transparent);
}

.criterios-grade-seta {
  width: 1rem;
  display: inline-block;
}

.criterios-grade-resumo {
  margin-left: auto;
}

.criterios-grade-selo {
  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  white-space: nowrap;
  border-radius: 999px;
  padding: 0 .45rem;
  font-size: .72rem;
  font-weight: 400;
  line-height: 1.4;
}

.criterios-grade-selo-novo {
  border-color: var(--app-primary,currentColor);
  color: var(--app-primary,inherit);
}

.criterios-grade-icone {
  min-width: 2.125rem;
  min-height: 2.125rem;
  color: var(--app-link,var(--app-primary,currentColor));
  cursor: pointer;
  opacity: 0;
  background: 0 0;
  border: 0;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  gap: 2px;
  padding: 0 .35rem;
  text-decoration: none;
  transition: opacity .12s;
  display: inline-flex;
}

.criterios-grade-icone:hover {
  background: color-mix(in srgb, var(--app-primary,currentColor) 12%, transparent);
}

.criterios-grade-icone:focus-visible,
.criterios-grade-cab:hover .criterios-grade-icone,
.criterios-grade-linha:hover .criterios-grade-icone {
  opacity: 1;
}

@media (hover:none) {
  .criterios-grade-icone {
    opacity: 1;
  }
}

.criterios-grade-remover {
  min-width: 2.125rem;
  min-height: 2.125rem;
  color: var(--app-danger,currentColor);
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.criterios-grade-remover:hover {
  background: color-mix(in srgb, var(--app-danger,currentColor) 12%, transparent);
}

.criterios-grade-linha {
  border-top: 1px solid color-mix(in srgb, currentColor 7%, transparent);
  grid-template-columns: minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1.3fr) auto;
  align-items: center;
  gap: .5rem;
  padding: .4rem .8rem;
  display: grid;
}

.criterios-grade-colunas {
  letter-spacing: .04em;
  text-transform: uppercase;
  border-top: 0;
  padding-top: .35rem;
  padding-bottom: .15rem;
  font-size: .72rem;
  font-weight: 700;
}

.criterios-grade-nome {
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  min-width: 0;
  display: flex;
}

.criterios-grade-sem {
  border-style: dashed;
}

.criterios-grade-motivo {
  flex-direction: column;
  gap: .2rem;
  padding: 0 .8rem .55rem;
  display: flex;
}

.criterios-grade-aviso {
  margin: .4rem .8rem .6rem;
}

.criterios-grade-vazio {
  padding: .5rem .8rem;
}

.criterios-grade-form {
  border-top: 1px solid color-mix(in srgb, currentColor 7%, transparent);
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  padding: .5rem .8rem;
  display: flex;
}

.criterios-grade-campo {
  flex: 11rem;
  width: auto;
}

.criterios-grade-nota {
  flex-basis: 100%;
}

.criterios-grade-novo-grupo {
  border: 1px dashed var(--app-primary,currentColor);
  border-radius: .5rem;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  padding: .6rem .8rem;
  display: flex;
}

.criterios-grade-linkbtn {
  color: var(--app-link,var(--app-primary,inherit));
  font: inherit;
  text-underline-offset: 2px;
  cursor: pointer;
  background: 0 0;
  border: 0;
  align-self: flex-start;
  padding: .2rem 0;
  font-size: .875rem;
  text-decoration: underline;
}

.criterios-grade-previa {
  border: 1px dashed color-mix(in srgb, currentColor 35%, transparent);
  background: color-mix(in srgb, currentColor 3%, transparent);
  border-radius: .5rem;
  flex-direction: column;
  gap: .55rem;
  padding: .7rem .9rem;
  display: flex;
}

.criterios-grade-opcao {
  white-space: nowrap;
  align-items: center;
  gap: .3rem;
  margin-right: .9rem;
  display: inline-flex;
}

.criterios-grade-caixa {
  border: 1.5px solid;
  border-radius: 3px;
  width: 13px;
  height: 13px;
  display: inline-block;
}

.criterios-grade-radio {
  border-radius: 999px;
}

@media (width<=620px) {
  .criterios-grade-linha {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }

  .criterios-grade-nome {
    grid-column: 1/-1;
  }

  .criterios-grade-colunas {
    display: none;
  }
}

.previa-hub-servico>summary {
  cursor: pointer;
  padding: .25rem 0;
}

.previa-hub-servico[open]>summary {
  margin-bottom: .5rem;
}

.previa-hub-servico-barra {
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  margin-bottom: .6rem;
  display: flex;
}

.previa-hub-servico-barra>span {
  flex: 18rem;
}

.previa-hub-servico-modo {
  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  padding-bottom: .6rem;
  display: flex;
}

.previa-hub-servico-colunas {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: start;
  gap: 1rem;
  display: grid;
}

.previa-hub-servico-painel {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: .5rem;
  overflow: hidden;
}

.previa-hub-servico-painel-cab {
  background: color-mix(in srgb, currentColor 4%, transparent);
  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .5rem .8rem;
  display: flex;
}

.previa-hub-servico-painel-corpo {
  flex-direction: column;
  gap: .85rem;
  padding: .7rem .8rem;
  display: flex;
}

.previa-hub-servico-pergunta {
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.previa-hub-servico-pergunta>legend {
  float: none;
  width: auto;
  margin: 0 0 .15rem;
  padding: 0;
  font-size: 1rem;
  font-weight: 600;
}

.previa-hub-servico-opcao {
  cursor: pointer;
  align-items: flex-start;
  gap: .5rem;
  min-height: 2rem;
  padding: .15rem 0;
  display: flex;
}

.previa-hub-servico-opcao input {
  flex: none;
  width: 17px;
  height: 17px;
  margin: .15rem 0 0;
}

.previa-hub-servico-efeito {
  opacity: .8;
  font-size: .78rem;
  line-height: 1.35;
  display: block;
}

.previa-hub-servico-acao {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: .5rem;
  flex-direction: column;
  gap: .3rem;
  padding: .55rem .7rem;
  display: flex;
}

.previa-hub-servico-acao-cab {
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  display: flex;
}

.previa-hub-servico-acao-cab>strong {
  flex: auto;
}

.previa-hub-servico-motivos {
  margin: 0;
  padding-left: 1.1rem;
  font-size: .875rem;
}

.previa-hub-servico-situacao {
  white-space: nowrap;
  border: 1px solid;
  border-radius: 999px;
  padding: .05rem .55rem;
  font-size: .78rem;
  font-weight: 600;
}

.previa-hub-servico-entra {
  color: var(--app-success,currentColor);
  background: color-mix(in srgb, var(--app-success,currentColor) 12%, transparent);
}

.previa-hub-servico-indicada {
  color: var(--app-info,currentColor);
  background: color-mix(in srgb, var(--app-info,currentColor) 12%, transparent);
}

.previa-hub-servico-atencao {
  color: color-mix(in srgb, var(--app-warning,#b58100) 70%, currentColor);
  background: color-mix(in srgb, var(--app-warning,#ffc107) 18%, transparent);
}

.previa-hub-servico-visita {
  color: inherit;
  background: color-mix(in srgb, currentColor 8%, transparent);
  border-color: color-mix(in srgb, currentColor 30%, transparent);
}

.previa-hub-servico-nao {
  color: var(--app-danger,currentColor);
  background: color-mix(in srgb, var(--app-danger,currentColor) 12%, transparent);
}

@media (width<=760px) {
  .previa-hub-servico-colunas {
    grid-template-columns: minmax(0,1fr);
  }
}

.previa-hub-servico-grupo {
  border: 2px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 40%, transparent);
  background: color-mix(in srgb, var(--app-primary,#2d6cdf) 4%, transparent);
  border-radius: .6rem;
  flex-direction: column;
  gap: .6rem;
  padding: .5rem .6rem;
  display: flex;
}

.previa-hub-servico-grupo-cab {
  color: var(--app-primary,#2d6cdf);
}

.previa-hub-servico-regra {
  opacity: .8;
  font-style: italic;
}

.previa-hub-servico-qtds,
.previa-hub-servico-valor {
  margin-top: 1rem;
}

.previa-hub-servico-qtds-corpo {
  flex-flow: wrap;
  align-items: flex-start;
}

.previa-hub-servico-qtd {
  flex-direction: column;
  flex: 0 15rem;
  gap: .2rem;
  min-width: 0;
  display: flex;
}

.previa-hub-servico-qtds-nota {
  flex: 100%;
}

.previa-hub-servico-valores {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .75rem;
  display: grid;
}

.previa-hub-servico-val {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: .5rem;
  flex-direction: column;
  gap: .25rem;
  padding: .6rem .75rem;
  display: flex;
}

.previa-hub-servico-val-sugerido {
  border: 2px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 55%, transparent);
  background: color-mix(in srgb, var(--app-primary,#2d6cdf) 5%, transparent);
}

.previa-hub-servico-val-t {
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .75;
  font-size: .72rem;
  font-weight: 700;
}

.previa-hub-servico-val-v {
  font-variant-numeric: tabular-nums;
  font-size: 1.35rem;
  font-weight: 700;
}

.previa-hub-servico-val-l {
  margin: .2rem 0 0;
  padding: 0;
  font-size: .85rem;
  list-style: none;
}

.previa-hub-servico-val-l>li {
  border-top: 1px dashed color-mix(in srgb, currentColor 15%, transparent);
  justify-content: space-between;
  gap: .5rem;
  padding-top: .15rem;
  display: flex;
}

.previa-hub-servico-val-l>li>span:last-child {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

@media (width<=760px) {
  .previa-hub-servico-valores {
    grid-template-columns: minmax(0,1fr);
  }
}

.dirty-wrap {
  vertical-align: middle;
  align-items: center;
  display: inline-flex;
  position: relative;
}

.dirty-mark {
  appearance: none;
  cursor: pointer;
  color: var(--app-primary,#2d6cdf);
  background: 0 0;
  border: 0;
  margin: 0;
  padding: 0 .15rem;
  font-size: .62rem;
  line-height: 1;
}

.dirty-mark:focus-visible {
  outline: 2px solid var(--app-link,currentColor);
  outline-offset: 1px;
  border-radius: 50%;
}

.dirty-pop {
  z-index: 20;
  white-space: nowrap;
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  background: var(--app-surface,#fff);
  box-shadow: 0 2px 6px color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .3rem;
  align-items: baseline;
  gap: .4rem;
  padding: .25rem .45rem;
  font-size: .8rem;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
}

.dirty-wrap:focus-within .dirty-pop,
.dirty-wrap.is-aberto .dirty-pop {
  display: inline-flex;
}

.dirty-wrap.is-suprimido .dirty-pop {
  display: none;
}

.dirty-pop-rotulo {
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .6;
  font-size: .65rem;
}

.dirty-pop-valor {
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
  max-width: 22rem;
  overflow: hidden;
}

.dirty-pop-reset {
  padding: 0 .4rem;
  font-size: .75rem;
  line-height: 1.4;
}

.rascunho-aviso {
  border: 1px dashed color-mix(in srgb, var(--app-primary,currentColor) 45%, transparent);
  background: color-mix(in srgb, var(--app-primary,currentColor) 6%, transparent);
  border-radius: .3rem;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
  padding: .4rem .65rem;
  font-size: .875rem;
  display: flex;
}

.rascunho-aviso-acoes {
  align-items: center;
  gap: .5rem;
  margin-left: auto;
  display: inline-flex;
}

.rascunho-aviso-btn,
.rascunho-aviso-fechar {
  padding: 0 .45rem;
  font-size: .8rem;
  line-height: 1.4;
}

.rascunho-aviso-fechar {
  opacity: .7;
}

.rascunho-aviso-fechar:hover {
  opacity: 1;
}

.rascunho-aviso.is-conflito {
  border-color: color-mix(in srgb, var(--app-warning,#d39e00) 65%, transparent);
  background: color-mix(in srgb, var(--app-warning,#d39e00) 10%, transparent);
}

.regras-pilulas {
  vertical-align: middle;
  flex-wrap: wrap;
  gap: .25rem;
  margin-left: .4rem;
  font-weight: 500;
  display: inline-flex;
  position: relative;
}

.regras-selo {
  appearance: none;
  font: inherit;
  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  color: inherit;
  white-space: nowrap;
  cursor: pointer;
  background: 0 0;
  border-radius: 999px;
  padding: 0 .5rem;
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.5;
}

.regras-selo:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 60%, transparent);
  outline-offset: 1px;
}

.regras-selo-obrig {
  background: var(--app-secondary,#6c757d);
  border-color: var(--app-secondary,#6c757d);
  color: #fff;
}

.regras-selo-pref {
  background: #ffc10738;
  border-color: #ffc107b3;
}

.regras-selo-ativa {
  background: color-mix(in srgb, var(--app-success,#198754) 16%, transparent);
  border-color: color-mix(in srgb, var(--app-success,#198754) 45%, transparent);
}

.regras-selo-inativa {
  border-style: dashed;
}

.regras-pop {
  z-index: 25;
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  background-color: var(--app-surface,#fff);
  white-space: normal;
  border-radius: .5rem;
  flex-direction: column;
  gap: .45rem;
  width: max-content;
  max-width: min(30rem,86vw);
  padding: .6rem .75rem .65rem;
  font-size: .875rem;
  font-weight: 400;
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  box-shadow: 0 .5rem 1.25rem #0000002e;
}

.regras-pop:before {
  content: "";
  height: 8px;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
}

.regras-pilulas.is-aberto .regras-pop {
  display: flex;
}

.regras-pilulas:has(:focus-visible) .regras-pop {
  display: flex;
}

.regras-pilulas.is-suprimido .regras-pop {
  display: none;
}

.regras-pop-cab {
  align-items: center;
  gap: .5rem;
  display: none;
}

.regras-pop-cab strong {
  flex: auto;
}

.regras-pop-linha {
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem .6rem;
  display: flex;
}

.regras-pop-rot {
  min-width: 6.5rem;
  font-weight: 600;
}

@media (width<=576px) {
  .regras-pop {
    z-index: 60;
    border-radius: 1rem 1rem 0 0;
    width: auto;
    max-width: none;
    padding: .9rem 1rem 1.1rem;
    position: fixed;
    inset: auto 0 0;
    box-shadow: 0 -.5rem 1.5rem #00000040;
  }

  .regras-pop:before {
    display: none;
  }

  .regras-pop-cab {
    display: flex;
  }

  .regras-pilulas:has(:focus-visible):not(.is-aberto) .regras-pop {
    display: none;
  }
}

.entity-form-cartao.regras-inativa {
  background-color: color-mix(in srgb, currentColor 7%, var(--app-surface,#fff));
}

.entity-form-cartao.regras-alvo-ver {
  outline: 3px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 55%, transparent);
  outline-offset: 2px;
}

.regras-vinculos {
  flex-wrap: wrap;
  gap: .3rem;
  padding-left: 2.6rem;
  display: flex;
}

.regras-vc {
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  border-radius: 999px;
  padding: .05rem .55rem;
  font-size: .78rem;
}

.regras-vc-exige {
  border-color: color-mix(in srgb, var(--app-primary,#2d6cdf) 45%, transparent);
  background: color-mix(in srgb, var(--app-primary,#2d6cdf) 9%, transparent);
}

.regras-vc-incomp {
  border-color: color-mix(in srgb, var(--app-danger,#dc3545) 45%, transparent);
  background: color-mix(in srgb, var(--app-danger,#dc3545) 8%, transparent);
}

.regras-vc-por {
  opacity: .85;
}

.regras-avisos {
  background: #ffc10724;
  border: 1px solid #ffc107b3;
  border-radius: .5rem;
  flex-direction: column;
  gap: .15rem;
  padding: .55rem .8rem;
  font-size: .875rem;
  display: flex;
}

.regras-aviso-info {
  opacity: .85;
}

.regras-aviso-ver {
  color: var(--app-link,var(--app-primary,inherit));
  padding: 0 .3rem;
  text-decoration: underline;
}

.regras-lista-info {
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .8rem;
  display: flex;
}

.regras-lista-info>.regras-lista-contagem {
  flex: auto;
}

.regras-grupo {
  border: 2px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 40%, transparent);
  background: color-mix(in srgb, var(--app-primary,#2d6cdf) 4%, transparent);
  border-radius: .7rem;
  flex-direction: column;
  gap: .5rem;
  padding: .5rem;
  display: flex;
}

.regras-grupo-cab {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .6rem;
  padding: 0 .25rem;
  display: flex;
}

.regras-grupo-ic {
  color: var(--app-primary,#2d6cdf);
  font-weight: 700;
}

.regras-grupo-tit {
  font-weight: 600;
}

.regras-grupo-regra {
  border: 1px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 45%, transparent);
  border-radius: 999px;
  padding: 0 .5rem;
  font-size: .8rem;
}

.regras-grupo-desc {
  flex: 1 1 0;
  min-width: 0;
}

.regras-grupo-edit {
  background-color: var(--app-surface,#fff);
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: .5rem;
  flex-direction: column;
  gap: .5rem;
  padding: .6rem .75rem;
  display: flex;
}

.regras-grupo-edit-regras {
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .6rem;
  display: flex;
}

.regras-marcar {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .35rem;
}

.regras-barra {
  z-index: 20;
  background: var(--app-surface,#fff);
  border: 1px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 45%, transparent);
  border-radius: .6rem;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  padding: .55rem .8rem;
  display: flex;
  position: sticky;
  bottom: .5rem;
  box-shadow: 0 .4rem 1.2rem #0000002e;
}

.regras-barra>.regras-barra-dica {
  flex: auto;
}

.regras-seletor {
  flex-direction: column;
  gap: .35rem;
  display: flex;
}

.regras-seletor-st {
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .7;
  margin-top: .4rem;
  font-size: .72rem;
  font-weight: 700;
}

.regras-seletor-op {
  border-bottom: 1px solid color-mix(in srgb, currentColor 8%, transparent);
  cursor: pointer;
  align-items: center;
  gap: .55rem;
  min-height: 2.25rem;
  padding: 0 .2rem;
  display: flex;
}

.regras-seletor-op>input {
  flex: none;
  margin: 0;
}

.regras-seletor-por {
  opacity: .7;
  text-align: right;
  margin-left: auto;
  font-size: .75rem;
}

.entity-form {
  --entity-form-rotulo-h: 1rem;
  --entity-form-gap: .6rem;
  gap: var(--entity-form-gap);
  flex-direction: column;
  display: flex;
}

.entity-form-row {
  flex-direction: column;
  gap: .15rem;
  display: flex;
}

.entity-form-extra-head {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.entity-form-titulo {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  margin-right: auto;
  display: flex;
}

.entity-form-label.entity-form-label.entity-form-label {
  height: var(--entity-form-rotulo-h);
  font-size: .82rem;
  font-weight: 600;
  line-height: var(--entity-form-rotulo-h);
  margin: 0;
}

.entity-form-req {
  color: var(--app-danger,#c0392b);
  font-weight: 700;
}

.entity-form-lock {
  opacity: .65;
  font-size: .72em;
}

.entity-form input.entity-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.entity-form-erro {
  margin: 0;
}

.entity-form-resumo {
  flex-direction: column;
  gap: .35rem;
  margin: .4rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.entity-form-resumo li {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  display: flex;
}

.entity-form-resumo-ir {
  padding: .05rem .4rem;
  font-size: .78rem;
}

.entity-form-rel {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
  flex-direction: column;
  gap: .25rem;
  padding: .4rem 0;
  display: flex;
}

.entity-form-rel-head {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.entity-form-relmode {
  flex: none;
  width: auto;
}

.entity-form-relpick {
  width: 100%;
}

.entity-form-nested {
  border-left: 2px solid color-mix(in srgb, var(--app-primary,currentColor) 40%, transparent);
  background: color-mix(in srgb, currentColor 3%, transparent);
  border-radius: 0 .3rem .3rem 0;
  margin-top: .25rem;
  margin-left: .5rem;
  padding: .5rem .6rem;
}

.entity-form-nested-head {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: .4rem;
  display: flex;
}

.entity-form-relpick-group .entity-form-relpick {
  flex: auto;
  min-width: 0;
}

.entity-form-lupa {
  line-height: 1;
}

.entity-form-enum {
  flex-wrap: wrap;
}

.entity-form-control-wrap {
  position: relative;
}

.entity-form-trava-overlay {
  cursor: not-allowed;
  background: 0 0;
  border: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  inset: 0;
}

.entity-form-ref {
  border-top: 1px dashed color-mix(in srgb, currentColor 20%, transparent);
  margin-top: .6rem;
  padding-top: .5rem;
}

.entity-form-ref-head {
  align-items: center;
  gap: .5rem;
  margin-bottom: .35rem;
  display: flex;
}

.entity-form-ref-title {
  flex: auto;
  min-width: 0;
}

.entity-form-ref-closed .entity-form-ref-head {
  margin-bottom: 0;
}

.entity-form-ref-row {
  border-left: 2px solid color-mix(in srgb, var(--app-secondary,currentColor) 40%, transparent);
  background: color-mix(in srgb, currentColor 3%, transparent);
  border-radius: 0 .3rem .3rem 0;
  margin: .35rem 0 .35rem .5rem;
  padding: .5rem .6rem;
}

.entity-form-ref-row-head {
  align-items: center;
  gap: .5rem;
  margin-bottom: .4rem;
  display: flex;
}

.entity-form-ref-row-closed .entity-form-ref-row-head {
  margin-bottom: 0;
}

.entity-form-ref-row-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  min-width: 0;
  overflow: hidden;
}

.entity-form-ref-row-summary {
  opacity: .85;
  font-style: italic;
}

.entity-form-ref-row-resumo {
  opacity: .95;
}

.entity-form-ref-row-resumo-destacado {
  opacity: 1;
}

.entity-form-ref-row-title-quebra {
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
  overflow: visible;
}

.entity-form-ref-row-subtitulo {
  opacity: .75;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: .85em;
  display: block;
}

.entity-form-ref-row-detalhe {
  white-space: normal;
  overflow-wrap: anywhere;
  opacity: .8;
  font-size: .82rem;
  display: block;
}

.entity-form-ref-compacta {
  gap: var(--entity-form-gap);
  border-top: 0;
  flex-direction: column;
  margin-top: 0;
  padding-top: 0;
  display: flex;
}

.entity-form-ref-compacta .entity-form-ref-head {
  margin-bottom: 0;
}

.entity-form-ref-add-baixo {
  justify-content: center;
  display: flex;
}

.entity-form-ref-add-tipos {
  flex-wrap: wrap;
  justify-content: center;
  gap: .375rem;
  display: flex;
}

.entity-form-linha {
  align-items: flex-start;
  gap: var(--entity-form-gap);
  flex-flow: wrap;
}

.entity-form-linha>.entity-form-row,
.entity-form-linha>.entity-form-rel {
  flex: 12rem;
  min-width: 0;
}

.entity-form-linha>.entity-form-rel {
  border-top: 0;
  flex-basis: 10rem;
  padding: 0;
}

.entity-form-linha-acoes {
  flex-direction: column;
  flex: none;
  margin-left: auto;
  display: flex;
}

.entity-form-linha-acoes-espaco {
  height: calc(var(--entity-form-rotulo-h) + .15rem);
  flex: none;
}

.entity-form-linha-acoes-botoes {
  flex: none;
  align-items: center;
  gap: .25rem;
  display: flex;
}

.entity-form-ref-remover {
  line-height: 1;
}

.entity-form-caret {
  font-variant-emoji: text;
  flex: none;
  width: 1.9rem;
  padding-left: 0;
  padding-right: 0;
  line-height: 1;
}

.entity-form-typeahead {
  position: relative;
}

.entity-form-ta-list {
  z-index: 20;
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  background-color: var(--app-surface,#fff);
  border-radius: .3rem;
  max-height: 14rem;
  margin: .1rem 0 0;
  padding: .2rem;
  list-style: none;
  position: absolute;
  left: 0;
  right: 0;
  overflow-y: auto;
  box-shadow: 0 .4rem 1rem #0000002e;
}

.entity-form-ta-item {
  text-align: left;
  width: 100%;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: .25rem;
  padding: .25rem .4rem;
  display: block;
}

.entity-form-ta-item:hover {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.entity-form-ta-new {
  border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  color: var(--app-primary,#2d6cdf);
  margin-top: .15rem;
  font-weight: 600;
}

.entity-form-ta-id {
  opacity: .5;
  font-size: .85em;
}

.entity-form-ta-detalhe {
  opacity: .65;
  margin-left: .45em;
  font-size: .85em;
}

.entity-form-ta-detalhe+.entity-form-ta-id {
  margin-left: .45em;
}

.entity-form-chosen {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .3rem;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .25rem .5rem;
  display: flex;
}

.entity-modal-backdrop {
  z-index: 1050;
  background: #0006;
  justify-content: center;
  align-items: flex-start;
  padding: 2rem 1rem;
  display: flex;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

.entity-modal {
  background: var(--app-surface,#fff);
  border-radius: .5rem;
  width: min(1100px,100%);
  max-height: calc(100vh - 4rem);
  overflow: auto;
  box-shadow: 0 1rem 3rem #0000004d;
}

.entity-modal-body {
  padding: 1rem 1.1rem 1.3rem;
}

.entity-form-derivado {
  opacity: .75;
  font-variant-numeric: tabular-nums;
  padding: .25rem 0;
  font-size: .875rem;
  display: inline-block;
}

.entity-form-auto {
  field-sizing: content;
  resize: none;
  min-height: calc(3lh + 2px);
}

.entity-form-embutido {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  background: color-mix(in srgb, currentColor 3%, transparent);
  border-radius: .4rem;
}

.entity-form-embutido-head {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border-radius: .35rem;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem;
  padding: .45rem 1.5rem .45rem .6rem;
  list-style: none;
  display: flex;
  position: relative;
}

.entity-form-embutido[open] .entity-form-embutido-head {
  border-radius: .35rem .35rem 0 0;
}

.entity-form-embutido-head::-webkit-details-marker {
  display: none;
}

.entity-form-embutido-head:after {
  content: "";
  opacity: .55;
  border-bottom: 1.5px solid;
  border-right: 1.5px solid;
  width: .45rem;
  height: .45rem;
  transition: transform .14s;
  position: absolute;
  top: calc(.45rem + .7em);
  right: .6rem;
  transform: translateY(calc(-50% - .12rem))rotate(45deg);
}

.entity-form-embutido[open] .entity-form-embutido-head:after {
  transform: translateY(calc(.12rem - 50%))rotate(-135deg);
}

@media (prefers-reduced-motion:reduce) {
  .entity-form-embutido-head:after {
    transition: none;
  }
}

.entity-form-embutido-head:hover {
  background: color-mix(in srgb, currentColor 5%, transparent);
}

.entity-form-embutido-head:hover:after {
  opacity: .85;
}

.entity-form-embutido[open] .entity-form-embutido-head {
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.entity-form-embutido-titulo {
  font-weight: 600;
}

.entity-form-embutido-corpo {
  padding: .6rem;
}

.entity-form-ref-gaveta .entity-form-ref-head {
  flex-wrap: wrap;
}

.entity-form-cartoes {
  flex-direction: column;
  gap: .6rem;
  display: flex;
}

.entity-form-cartao {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  background-color: var(--app-surface,transparent);
  border-radius: .5rem;
  flex-direction: column;
  gap: .5rem;
  padding: .65rem .85rem;
  display: flex;
  position: relative;
}

.entity-form-cartao-aberto {
  border-color: color-mix(in srgb, var(--app-primary,#2d6cdf) 55%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--app-primary,#2d6cdf) 15%, transparent);
}

.entity-form-cartao-head {
  grid-template-columns: auto minmax(0,1fr) auto auto;
  align-items: start;
  gap: .6rem .8rem;
  display: grid;
}

.entity-form-cartao-seta-vaga {
  width: 2rem;
  display: inline-block;
}

.entity-form-cartao-menu {
  min-width: 2.5rem;
  padding-top: .2rem;
  padding-bottom: .35rem;
  font-size: 1.15rem;
  line-height: 1;
}

.entity-form-cartao-menu:after {
  display: none;
}

.entity-form-cartao-menu-lista .entity-form-cartao-menu-ic {
  text-align: center;
  opacity: .75;
  width: 1.2rem;
  margin-right: .35rem;
  display: inline-block;
}

.entity-form-cartao-id {
  min-width: 0;
}

.entity-form-cartao-abre {
  cursor: pointer;
  border-radius: .35rem;
  margin: -.1rem -.3rem;
  padding: .1rem .3rem;
  transition: background-color .12s;
}

.entity-form-cartao-abre:hover {
  background-color: color-mix(in srgb, var(--app-primary,#2d6cdf) 7%, transparent);
}

.entity-form-cartao-abre:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 60%, transparent);
  outline-offset: 2px;
}

.entity-form-cartao-nome {
  overflow-wrap: anywhere;
  font-size: 1.05em;
  font-weight: 600;
}

.entity-form-cartao-destaques {
  text-align: right;
  font-variant-numeric: tabular-nums;
  flex-direction: column;
  align-items: flex-end;
  gap: .1rem;
  display: flex;
}

.entity-form-cartao-destaque {
  white-space: nowrap;
}

.entity-form-cartao-ctl>.entity-form {
  gap: .4rem;
}

.entity-form-cartao-rec {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .6rem 1.4rem;
  margin: 0;
  padding-top: .5rem;
  display: flex;
}

.entity-form-cartao-rec-grupo {
  flex-direction: column;
  gap: .25rem;
  min-width: 0;
  max-width: 100%;
  display: flex;
}

.entity-form-cartao-rec dt {
  text-transform: uppercase;
  letter-spacing: .03em;
  opacity: .7;
  margin: 0;
  font-size: .78rem;
  font-weight: 600;
}

.entity-form-cartao-rec dd {
  flex-wrap: wrap;
  gap: .3rem;
  margin: 0;
  display: flex;
}

.entity-form-chip {
  border: 1px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 35%, transparent);
  background-color: color-mix(in srgb, var(--app-primary,#2d6cdf) 9%, transparent);
  overflow-wrap: anywhere;
  border-radius: 999px;
  align-items: center;
  padding: .15rem .55rem;
  font-size: .85rem;
  line-height: 1.35;
  display: inline-flex;
}

.entity-form-chip-opc {
  border-style: dashed;
  border-color: color-mix(in srgb, currentColor 30%, transparent);
  opacity: .8;
  background-color: #0000;
}

.entity-form-chip-q {
  opacity: .75;
  font-size: .78rem;
}

.entity-form-chip-grupo {
  opacity: .75;
}

.entity-form-cartao-vazio {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
  margin: 0;
  padding-top: .4rem;
  font-style: italic;
}

.entity-form-cartao-resumo {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
  flex-wrap: wrap;
  gap: .35rem;
  padding-top: .5rem;
  display: flex;
}

.entity-form-cartao-resumo-item {
  display: inline-flex;
  position: relative;
}

.entity-form-cartao-resumo-chip {
  border: 1px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 35%, transparent);
  background-color: color-mix(in srgb, var(--app-primary,#2d6cdf) 9%, transparent);
  min-height: 1.9rem;
  color: inherit;
  font: inherit;
  cursor: pointer;
  border-radius: 999px;
  align-items: center;
  padding: .1rem .6rem;
  font-size: .85rem;
  display: inline-flex;
}

.entity-form-cartao-resumo-chip:hover {
  background-color: color-mix(in srgb, var(--app-primary,#2d6cdf) 18%, transparent);
}

.entity-form-cartao-resumo-chip:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--app-primary,#2d6cdf) 60%, transparent);
  outline-offset: 2px;
}

.entity-form-cartao-resumo-vazio {
  border-color: color-mix(in srgb, currentColor 18%, transparent);
  opacity: .6;
  background-color: #0000;
}

.entity-form-cartao-pop {
  z-index: 20;
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  background-color: var(--app-surface,#fff);
  border-radius: .5rem;
  flex-direction: column;
  gap: .35rem;
  width: max-content;
  max-width: min(22rem,80vw);
  padding: .5rem .65rem .55rem;
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  box-shadow: 0 .5rem 1.25rem #0000002e;
}

.entity-form-cartao-resumo-item.is-aberto .entity-form-cartao-pop,
.entity-form-cartao-resumo-item:focus-within .entity-form-cartao-pop {
  display: flex;
}

.entity-form-cartao-resumo-item.is-suprimido .entity-form-cartao-pop {
  display: none;
}

.entity-form-cartao-pop:before {
  content: "";
  height: 8px;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
}

.entity-form-cartao-pop-t {
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .7;
  font-size: .72rem;
  font-weight: 700;
}

.entity-form-cartao-pop-chips {
  flex-wrap: wrap;
  gap: .3rem;
  display: flex;
}

.entity-form-cartao-pop-dica {
  opacity: .7;
  font-size: .75rem;
}

.entity-form-cartoes-sanfona {
  justify-content: flex-end;
  gap: .25rem;
  margin-bottom: .35rem;
  display: flex;
}

.entity-form-cartoes-sanfona-btn {
  color: var(--app-link,var(--app-primary,inherit));
  border-color: #0000;
}

@media (width<=860px) {
  .entity-form-cartao-head {
    grid-template-columns: auto minmax(0,1fr) auto;
  }

  .entity-form-cartao-destaques {
    text-align: left;
    grid-area: 2/2/auto/-1;
    align-items: flex-start;
  }
}

.entity-form-gaveta-backdrop {
  z-index: 50;
  background: #0006;
  justify-content: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
}

.entity-form-gaveta {
  background-color: var(--app-surface,#fff);
  flex-direction: column;
  width: min(40rem,100vw);
  height: 100%;
  display: flex;
  box-shadow: -.5rem 0 2rem #00000059;
}

.entity-form-gaveta-head {
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  align-items: flex-start;
  gap: .6rem;
  padding: .8rem 1.1rem;
  display: flex;
}

.entity-form-gaveta-titulo {
  overflow-wrap: anywhere;
  flex: auto;
  min-width: 0;
}

.entity-form-gaveta-corpo {
  flex: auto;
  min-height: 0;
  padding: .8rem 1.1rem 1.2rem;
  overflow: auto;
}

.entity-form-gaveta-pe {
  border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding: .7rem 1.1rem;
  display: flex;
}

.entity-form-abas {
  margin-bottom: .5rem;
}

.entity-form-aba {
  align-items: center;
  gap: .3rem;
  display: inline-flex;
}

.entity-form-aba-qtd-zero {
  opacity: .55;
}

.entity-form-aba-falta {
  color: var(--app-danger,#c0392b);
  font-weight: 700;
}

.entity-form-aba-erro {
  -webkit-text-decoration: underline dotted var(--app-danger,#c0392b);
  text-decoration: underline dotted var(--app-danger,#c0392b);
  text-underline-offset: .2em;
}

.entity-form-rel-criar-aqui {
  margin-top: .25rem;
}

.entity-form-nested-acoes {
  align-items: center;
  gap: .35rem;
  display: inline-flex;
}

.entity-form-extra-foot {
  justify-content: flex-start;
  margin-top: .2rem;
  display: flex;
}

.entity-form-cartao-destaque {
  font-size: .875em;
}

.entity-form-cartao-selo {
  vertical-align: middle;
  margin-left: .4rem;
  font-size: .65em;
  font-weight: 500;
}

.entity-form-gaveta-linha {
  border-bottom: 1px dashed color-mix(in srgb, currentColor 25%, transparent);
  margin-bottom: .75rem;
  padding-bottom: .5rem;
}

.entity-form-gaveta-linha .entity-form-linha {
  justify-content: space-between;
}

.entity-form-gaveta-linha .entity-form-linha>.entity-form-linha-acoes:not(:has(button,a)) {
  display: none;
}

.entity-form-gaveta-linha .entity-form-linha>.entity-form-row:has(.entity-form-enum) {
  flex: 0 auto;
}

.entity-form-gaveta-so-linha {
  margin: 0;
}

.entity-form-arvore {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .375rem;
  margin: .35rem 0 .6rem;
  padding: .5rem .6rem;
}

.entity-form-arvore-topo {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .4rem;
  margin-bottom: .35rem;
  display: flex;
}

.entity-form-arvore-migalha {
  flex-wrap: wrap;
  align-items: center;
  gap: .2rem;
  min-width: 0;
  display: flex;
}

.entity-form-arvore-link {
  font: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  padding: 0 .15rem;
}

.entity-form-arvore-link:disabled {
  cursor: default;
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.entity-form-arvore-busca {
  flex: 0 16rem;
  min-width: 10rem;
}

.entity-form-arvore-atual {
  border-bottom: 1px dashed color-mix(in srgb, currentColor 20%, transparent);
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: .25rem;
  padding: .25rem 0;
  display: flex;
}

.entity-form-arvore-lista {
  max-height: 27.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: auto;
}

.entity-form-arvore-no {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .15rem 0;
  display: flex;
}

.entity-form-arvore-no+.entity-form-arvore-no {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
}

.entity-form-arvore-rotulo {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  display: flex;
}

.entity-form-arvore-abrir,
.entity-form-arvore-folha {
  text-align: center;
  width: 1.1rem;
  display: inline-block;
}

.entity-form-arvore-nivel {
  font-weight: 500;
}

.entity-form-arvore-ja,
.entity-form-arvore-indicar {
  white-space: nowrap;
  flex-shrink: 0;
}

.entity-form-cartoes-filtros {
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .6rem;
  margin: .35rem 0 .5rem;
  display: flex;
}

.entity-form-cartoes-filtros>select.entity-form-filtro {
  flex: 0 auto;
  width: auto;
  max-width: 100%;
}

.entity-form-cartoes-contador {
  white-space: nowrap;
}

input.entity-num.entity-num-com-unidade {
  padding-right: 2.6rem;
}

.entity-form-control-wrap .entity-form-unidade-sufixo.entity-form-unidade-sufixo,
.entity-form-control-wrap .entity-form-moeda-prefixo.entity-form-moeda-prefixo {
  width: auto;
  box-shadow: none;
  background: 0 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  line-height: 1.5;
}

.entity-form-control-wrap .entity-form-unidade-sufixo.entity-form-unidade-sufixo {
  opacity: .65;
  pointer-events: none;
  align-items: center;
  height: calc(1.5em + .5rem + 2px);
  font-size: .875rem;
  display: flex;
  position: absolute;
  top: 0;
  right: .6rem;
}

input.entity-num.entity-dinheiro {
  padding-left: 2.1rem;
}

.entity-form-control-wrap .entity-form-moeda-prefixo.entity-form-moeda-prefixo {
  opacity: .65;
  pointer-events: none;
  align-items: center;
  height: calc(1.5em + .5rem + 2px);
  font-size: .875rem;
  display: flex;
  position: absolute;
  top: 0;
  left: .6rem;
}

.entity-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.entity-table {
  border-collapse: collapse;
  width: 100%;
  font-size: .9rem;
}

.entity-table th,
.entity-table td {
  text-align: left;
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  vertical-align: top;
  padding: .4rem .6rem;
}

.entity-table thead th {
  z-index: 2;
  background-color: var(--app-surface,transparent);
  border-bottom-width: 2px;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.entity-table.dense th,
.entity-table.dense td {
  padding: .15rem .4rem;
  font-size: .82rem;
}

.entity-th-inner {
  align-items: center;
  gap: .25rem;
  display: flex;
}

.entity-num .entity-th-inner {
  justify-content: flex-end;
}

.entity-funnel {
  color: inherit;
  opacity: .4;
  padding: .1rem;
  transition: opacity .1s,color .1s;
  display: inline-flex;
}

.entity-table thead th:hover .entity-funnel,
.entity-th-btn:focus-visible .entity-funnel {
  opacity: .75;
}

.entity-funnel.is-on,
.entity-table thead th:hover .entity-funnel.is-on {
  opacity: 1;
  color: var(--app-link,currentColor);
}

.entity-th-btn {
  font: inherit;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  align-items: center;
  gap: .25rem;
  margin: 0;
  padding: 0;
  display: inline-flex;
}

.entity-th-btn:hover .entity-th-label {
  text-decoration: underline;
}

.entity-sort-ind {
  opacity: .8;
  min-width: .75em;
  font-size: .75em;
}

.entity-table tbody tr:hover {
  background: color-mix(in srgb, currentColor 6%, transparent);
}

.entity-table .col-id {
  opacity: .6;
  font-variant-numeric: tabular-nums;
}

.entity-table .entity-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.entity-page-size {
  width: auto;
  display: inline-block;
}

.entity-pagination {
  align-items: center;
}

.entity-pagination>* {
  align-items: center;
  margin: 0;
  display: flex;
}

.entity-pagination ul {
  align-items: center;
}

.entity-per-page {
  font-size: .72rem;
}

.entity-per-page .entity-page-size {
  font-size: .8rem;
}

.entity-fk {
  min-width: 0;
}

.entity-fk-id {
  opacity: .5;
  font-size: .8em;
}

.entity-fk-sub {
  opacity: .75;
  margin-left: .35em;
  font-size: .85em;
}

.entity-fk-sub+.entity-fk-sub {
  margin-left: .5em;
}

.entity-relsub-group {
  padding: .3rem 0;
}

.entity-relsub-group+.entity-relsub-group {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
}

.entity-relsub-fk {
  margin-bottom: .25rem;
  font-size: .82rem;
  display: block;
}

.entity-relsub-chips {
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  display: flex;
}

.entity-relsub-add {
  width: auto;
  max-width: 100%;
}

.entity-null {
  opacity: .35;
}

.entity-layout {
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.entity-main {
  flex: 1;
  min-width: 0;
}

.entity-panel {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .4rem;
  flex: 0 0 clamp(16rem,24vw,22rem);
  max-height: 80vh;
  padding: .25rem;
  overflow: hidden auto;
}

.entity-panel-head,
.entity-panel-backdrop {
  display: none;
}

@media (width<=720px) {
  .entity-panel {
    z-index: 30;
    background-color: var(--app-surface,transparent);
    width: min(20rem,85vw);
    max-height: none;
    position: fixed;
    inset: 0 auto 0 0;
    box-shadow: 0 0 2rem #00000059;
  }

  .entity-panel-backdrop {
    z-index: 29;
    background: #0006;
    display: block;
    position: fixed;
    inset: 0;
  }

  .entity-panel-head {
    z-index: 1;
    border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
    background-color: var(--app-surface,transparent);
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-bottom: .4rem;
    padding: .35rem .4rem;
    font-weight: 600;
    display: flex;
    position: sticky;
    top: 0;
  }

  .entity-panel-close {
    font-size: 1.15rem;
  }
}

.entity-acc+.entity-acc {
  border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.entity-acc-head {
  width: 100%;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .5rem .4rem;
  font-weight: 600;
  display: flex;
}

.entity-acc-head:hover {
  background: color-mix(in srgb, currentColor 6%, transparent);
}

.entity-acc-body {
  flex-direction: column;
  gap: .35rem;
  padding: .25rem .4rem .6rem;
  display: flex;
}

.entity-check {
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  gap: .4rem;
  min-width: 0;
  font-size: .85rem;
  display: flex;
  overflow: hidden;
}

.entity-auto-switch {
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  cursor: pointer;
  margin-bottom: .4rem;
  padding-bottom: .5rem;
  font-size: .85rem;
}

.entity-col-row {
  border-top: 2px solid #0000;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.entity-col-move {
  flex: none;
  gap: .1rem;
  display: inline-flex;
}

.entity-col-grip {
  cursor: grab;
  opacity: .5;
  -webkit-user-select: none;
  user-select: none;
  flex: none;
  font-size: .9em;
  line-height: 1;
}

.entity-col-row:active .entity-col-grip {
  cursor: grabbing;
}

.entity-col-row .entity-check {
  flex: auto;
}

.entity-col-remove {
  opacity: .45;
  flex: none;
}

.entity-col-remove:hover,
.entity-col-remove:focus-visible {
  opacity: 1;
  color: var(--app-danger,#b3401a);
}

.entity-col-ref .entity-check {
  color: var(--app-secondary-color,#6c757d);
  font-style: italic;
}

.entity-col-dragging {
  opacity: .45;
}

.entity-col-over {
  border-top-color: var(--app-primary,#2d6cdf);
}

.entity-filter-row {
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
  padding: .4rem 0;
  display: flex;
}

.entity-filter-row+.entity-filter-row {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
}

.entity-filter-head {
  align-items: center;
  gap: .35rem;
  min-width: 0;
  display: flex;
}

.entity-filter-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  min-width: 0;
  font-size: .82rem;
  font-weight: 600;
  overflow: hidden;
}

.entity-op {
  flex: none;
  width: 6rem;
  max-width: 42%;
  padding-left: .4rem;
  padding-right: 1.1rem;
}

.entity-filter-clear {
  flex: none;
}

.entity-filter-clear.is-hidden {
  visibility: hidden;
}

.entity-filter-vals {
  align-items: center;
  gap: .35rem;
  min-width: 0;
  display: flex;
}

.entity-filter-vals .entity-filter-input {
  flex: auto;
  width: 100%;
  min-width: 0;
}

.entity-sort-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  display: flex;
}

.entity-sort-col {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  min-width: 0;
  font-size: .85rem;
  overflow: hidden;
}

.entity-chip {
  background: color-mix(in srgb, currentColor 10%, transparent);
  border-radius: 1rem;
  align-items: center;
  gap: .3rem;
  padding: .1rem .5rem;
  font-size: .8rem;
  display: inline-flex;
}

.entity-chip-x {
  font: inherit;
  color: inherit;
  opacity: .6;
  cursor: pointer;
  background: 0 0;
  border: 0;
  margin: 0;
  padding: 0 .15rem;
  line-height: 1;
}

.entity-chip-x:hover {
  opacity: 1;
}

.entity-chip-x:disabled {
  opacity: .25;
  cursor: default;
}

.entity-sort-ind small {
  opacity: .7;
  margin-left: .1em;
  font-size: .7em;
}

.entity-table th.entity-pick-th {
  white-space: nowrap;
  width: 1%;
}

.entity-table td.entity-pick-cell {
  text-align: center;
  white-space: nowrap;
}

.entity-pick-row:hover td {
  background: color-mix(in srgb, var(--app-primary,currentColor) 6%, transparent);
}

.entity-table th.entity-ref-th {
  opacity: .85;
  font-style: italic;
}

.entity-table td.entity-ref-cell {
  min-width: 0;
}

.entity-ref-val {
  align-items: baseline;
  gap: .4em;
  display: inline-flex;
}

.entity-ref-badge {
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  background: color-mix(in srgb, currentColor 8%, transparent);
  color: inherit;
  font: inherit;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  border-radius: 1rem;
  padding: .1rem .55rem;
  font-size: .8rem;
  line-height: 1;
}

.entity-ref-badge:hover {
  background: color-mix(in srgb, currentColor 16%, transparent);
}

.entity-ref-abrir {
  align-items: baseline;
  gap: inherit;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  flex-wrap: wrap;
  padding: 0;
  display: inline-flex;
}

.entity-ref-abrir:hover,
.entity-ref-abrir:focus-visible {
  text-underline-offset: .15em;
  text-decoration: underline;
}

.entity-ref-val .entity-fk-sub {
  opacity: 1;
  font-size: inherit;
  margin-left: 0;
}

.entity-ref-campos .entity-fk-sub+.entity-fk-sub {
  margin-left: .35em;
}

.entity-ref-item {
  display: contents;
}

.entity-ref-item.is-rotulado {
  vertical-align: top;
  line-height: 1.25;
  display: inline-block;
}

.entity-ref-item.is-rotulado+.entity-ref-item.is-rotulado {
  margin-left: .35em;
}

.entity-ref-item.is-rotulado .entity-ref-campos {
  display: block;
}

.entity-ref-val.is-ficha,
.entity-ref-val.is-ficha .entity-ref-abrir {
  flex-direction: column;
  align-items: flex-start;
  gap: .25em;
  display: inline-flex;
}

.entity-ref-linha {
  line-height: 1.25;
  display: block;
}

.entity-ref-linha .entity-ref-tipo,
.entity-ref-principal {
  display: block;
}

.entity-ref-endereco {
  align-items: flex-start;
  gap: .3rem;
  display: flex;
}

.entity-end-linhas {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.entity-end-linha {
  line-height: 1.25;
  display: block;
}

.entity-fk.is-ficha {
  flex-direction: column;
  align-items: flex-start;
  gap: .25em;
  display: inline-flex;
}

.entity-fk.is-ficha .entity-fk-id {
  align-self: flex-start;
}

.entity-ref-vazio {
  opacity: .45;
}

.entity-ref-cell {
  position: relative;
}

.entity-ref-extra {
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  background: color-mix(in srgb, currentColor 8%, transparent);
  color: inherit;
  font: inherit;
  opacity: .75;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  border-radius: 1rem;
  padding: .08rem .35rem;
  font-size: .68rem;
  line-height: 1;
  position: absolute;
  top: .1rem;
  right: .25rem;
}

.entity-ref-extra:hover,
.entity-ref-extra:focus-visible {
  opacity: 1;
  background: color-mix(in srgb, currentColor 16%, transparent);
}

.entity-viagroup {
  margin-top: .35rem;
}

.entity-viagroup-title {
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .6;
  margin: 0 0 .25rem;
  font-size: .72rem;
}

.entity-via-icon {
  opacity: .45;
  flex: none;
  align-items: center;
  margin-right: .2rem;
  display: inline-flex;
}

.entity-th-btn:hover .entity-via-icon {
  opacity: .8;
}

.entity-refbox {
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-radius: .4rem;
  margin-bottom: .4rem;
  overflow: hidden;
}

.entity-refbox-head {
  background: color-mix(in srgb, currentColor 5%, transparent);
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  border: 0;
  align-items: center;
  gap: .4rem;
  padding: .35rem .5rem;
  display: flex;
}

.entity-refbox-head:hover {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.entity-refbox-caret {
  opacity: .7;
  flex: none;
  font-size: .8em;
}

.entity-refbox-title {
  flex: auto;
  font-style: italic;
}

.entity-refbox-body {
  flex-direction: column;
  gap: .15rem;
  padding: .35rem .5rem .4rem 1.4rem;
  display: flex;
}

.entity-refbox-sort {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  margin-top: .35rem;
  display: flex;
}

.entity-refbox-sort select {
  flex: auto;
  min-width: 0;
}

.entity-refview {
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-left-width: 3px;
  border-radius: .3rem;
  align-items: center;
  gap: .3rem;
  min-width: 0;
  margin-bottom: .2rem;
  padding: .25rem .35rem;
  display: flex;
}

.entity-refview-txt {
  flex-direction: column;
  flex: auto;
  min-width: 0;
  line-height: 1.25;
  display: flex;
}

.entity-refview-nome,
.entity-refview-filtro {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.entity-refview-nome {
  font-weight: 600;
}

.entity-refview-filtro {
  opacity: .65;
  font-size: .78em;
}

.entity-refview-btn {
  color: inherit;
  font: inherit;
  cursor: pointer;
  opacity: .65;
  background: 0 0;
  border: 0;
  flex: none;
  padding: 0 .15rem;
}

.entity-refview-btn:hover,
.entity-refview-btn:focus-visible {
  opacity: 1;
}

.entity-refview-add {
  border: 1px dashed color-mix(in srgb, currentColor 30%, transparent);
  width: 100%;
  color: inherit;
  font: inherit;
  cursor: pointer;
  background: 0 0;
  border-radius: .3rem;
  margin-top: .15rem;
  padding: .25rem .35rem;
  font-weight: 600;
}

.entity-refview-add:hover,
.entity-refview-add:focus-visible {
  background: color-mix(in srgb, currentColor 7%, transparent);
}

.entity-cm-qtd {
  z-index: 2;
  position: relative;
}

.entity-cm-qtd-toggle {
  text-align: left;
  min-width: 6.5rem;
}

.entity-cm-qtd-livre {
  align-items: center;
  gap: .3rem;
  padding: .25rem 1rem;
  display: flex;
}

.entity-cm-qtd-livre input {
  width: 4.5rem;
}

.entity-ref-sep {
  opacity: .55;
}

.entity-drawer-backdrop {
  z-index: 50;
  background: #0006;
  justify-content: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
}

.entity-drawer {
  background-color: var(--app-surface,#fff);
  flex-direction: column;
  gap: .75rem;
  width: min(56rem,94vw);
  max-width: 94vw;
  height: 100%;
  padding: 1rem 1.25rem;
  display: flex;
  overflow: auto;
  box-shadow: -.5rem 0 2rem #00000059;
}

.entity-drawer-close {
  font-size: 1.1rem;
}

.entity-drawer-body {
  min-width: 0;
}

.entity-drawer-pai {
  margin: 0 0 .65rem;
  font-size: 1.05em;
}

.entity-cm-overlay {
  z-index: 60;
  background: #0006;
  justify-content: center;
  align-items: flex-start;
  padding: 6vh 1rem 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.entity-cm {
  width: min(30rem,100%);
  max-height: 88vh;
  overflow: hidden;
  box-shadow: 0 1rem 3rem #00000059;
}

.entity-cm-head {
  flex-wrap: nowrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.entity-cm-head.tem-abas {
  flex-direction: column;
  align-items: stretch;
  gap: .4rem;
}

.entity-cm-headtop {
  flex-wrap: nowrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.entity-cm-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  min-width: 0;
  font-size: 1.05rem;
  font-weight: 700;
  overflow: hidden;
}

.entity-cm-type {
  opacity: .7;
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  white-space: nowrap;
  border-radius: .3rem;
  flex: none;
  padding: .03rem .35rem;
  font-size: .72rem;
}

.entity-cm .entity-cm-head .entity-cm-tabs {
  flex-wrap: wrap;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
}

.entity-cm-spacer {
  flex: auto;
}

.entity-cm-x {
  flex: none;
  font-size: 1.05rem;
}

.entity-cm-body {
  min-height: 0;
  overflow: auto;
}

.entity-cm-section+.entity-cm-section {
  margin-top: 1rem;
}

.entity-cm-sectitle {
  text-transform: uppercase;
  letter-spacing: .03em;
  opacity: .65;
  margin: 0 0 .5rem;
  font-size: .78rem;
}

.entity-cm-sortpick {
  flex-wrap: wrap;
  gap: .35rem;
  display: flex;
}

.entity-pill {
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  cursor: pointer;
  color: inherit;
  font: inherit;
  background: 0 0;
  border-radius: 1rem;
  padding: .2rem .7rem;
  font-size: .85rem;
}

.entity-pill.on {
  border-color: var(--app-primary,currentColor);
}

.entity-cm-hint {
  opacity: .7;
  margin: .4rem 0 0;
  font-size: .8rem;
}

.entity-cm-foot {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.entity-convite-quem {
  grid-template-columns: max-content 1fr;
  gap: .1rem .6rem;
  margin: 0 0 .6rem;
  font-size: .85rem;
  display: grid;
}

.entity-convite-quem>dt {
  opacity: .7;
  font-weight: 600;
}

.entity-convite-quem>dd {
  overflow-wrap: anywhere;
  margin: 0;
}

.entity-convite-link {
  align-items: center;
  gap: .4rem;
  margin-top: .6rem;
  display: flex;
}

.entity-convite-link>input {
  flex: auto;
  min-width: 0;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: .78rem;
}

.entity-convite-link>button {
  flex: none;
}

.entity-fk-ta {
  flex: auto;
  min-width: 0;
  position: relative;
}

.entity-fk-ta>input {
  width: 100%;
}

.entity-fk-ta-fontes {
  flex-wrap: wrap;
  gap: .15rem;
  margin-bottom: .3rem;
  display: flex;
}

.entity-fk-ta-fonte {
  font: inherit;
  color: inherit;
  opacity: .6;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #0000;
  border-radius: .25rem;
  padding: .1rem .4rem;
  font-size: .78rem;
}

.entity-fk-ta-fonte:hover {
  background: color-mix(in srgb, currentColor 8%, transparent);
  opacity: .85;
}

.entity-fk-ta-fonte[aria-selected=true] {
  opacity: 1;
  border-color: color-mix(in srgb, currentColor 25%, transparent);
  background: color-mix(in srgb, currentColor 6%, transparent);
  font-weight: 600;
}

.entity-fk-ta-tipo {
  width: 100%;
  margin-bottom: .25rem;
}

.entity-fk-ta-list {
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  background-color: var(--app-surface,#fff);
  border-radius: .3rem;
  margin: .1rem 0 0;
  padding: .2rem;
  list-style: none;
  box-shadow: 0 .4rem 1rem #0000002e;
}

.entity-fk-ta-item {
  text-align: left;
  width: 100%;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: .25rem;
  padding: .25rem .4rem;
  display: block;
}

.entity-fk-ta-item:hover {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.entity-fk-ta-id {
  opacity: .5;
  font-size: .85em;
}

.entity-fk-ta-empty {
  opacity: .6;
  padding: .25rem .4rem;
  font-size: .9em;
}

.entity-fk-ta-chosen {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .3rem;
  flex: auto;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  padding: .25rem .5rem;
  display: flex;
}

.entity-fk-ta-chosen-lbl {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.entity-fk-multi {
  flex-direction: column;
  flex: auto;
  gap: .35rem;
  width: 100%;
  min-width: 0;
  display: flex;
}

.entity-fk-inv {
  opacity: .85;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-self: flex-start;
  align-items: center;
  gap: .35rem;
  font-size: .8rem;
  display: inline-flex;
}

.entity-fk-inv input {
  margin: 0;
}

.entity-fk-chips {
  flex-wrap: wrap;
  gap: .25rem;
  display: flex;
}

.entity-table .entity-open-link {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.entity-table .entity-open-link:hover,
.entity-table .entity-open-link:focus-visible {
  text-decoration: underline;
}

.entity-id-menu {
  display: inline-block;
}

.entity-id-btn {
  color: inherit;
  font: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  align-items: center;
  gap: .15rem;
  padding: 0;
  font-weight: 600;
  display: inline-flex;
}

.entity-id-btn:hover,
.entity-id-btn[aria-expanded=true],
.entity-id-btn:focus-visible {
  text-decoration: underline;
}

.entity-id-caret {
  opacity: .6;
  font-size: .7em;
  line-height: 1;
}

.entity-id-menu-list {
  min-width: 9rem;
  margin: 0;
}

.entity-id-menu-list .entity-id-excluir {
  text-align: left;
  width: 100%;
  font: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
}

.entity-excluir-alvo {
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem;
  margin-bottom: .5rem;
  font-size: 1.05rem;
  display: flex;
}

.entity-excluir-id {
  font-variant-numeric: tabular-nums;
  opacity: .7;
}

.entity-excluir-rotulo {
  overflow-wrap: anywhere;
  min-width: 0;
  font-weight: 600;
}

.entity-excluir-erro {
  margin-top: .75rem;
  margin-bottom: 0;
}

.entity-table td.entity-caminho-cell {
  max-width: 22rem;
}

.entity-caminho {
  overflow-wrap: anywhere;
  display: block;
}

.entity-fk-ta-detalhe {
  opacity: .65;
  margin: 0 .45em;
  font-size: .85em;
}

.entity-texto-celula {
  cursor: default;
}

.entity-texto-mais {
  opacity: .55;
  margin-left: .15em;
  font-size: .85em;
}

.entity-texto-pop {
  overflow: hidden;
}

.entity-texto-pop-body {
  white-space: pre-wrap;
  max-height: inherit;
  overflow-y: auto;
}

.entity-cm-cols .entity-check {
  gap: .55rem;
  font-size: .95rem;
}

.entity-cm-cols .entity-col-row {
  gap: .7rem;
  padding: .15rem 0;
}

.entity-cm-cols .entity-col-grip {
  opacity: .6;
  font-size: 1.15em;
}

.entity-cm-cols .entity-check input[type=checkbox] {
  width: 1.05em;
  height: 1.05em;
}

.entity-cm-cols .entity-col-remove {
  font-size: 1rem;
}

@media (pointer:coarse) {
  .entity-cm-cols .entity-check {
    gap: .75rem;
    padding: .35rem 0;
    font-size: 1.05rem;
  }

  .entity-cm-cols .entity-col-row {
    gap: .9rem;
    min-height: 2.75rem;
    padding: .3rem 0;
  }

  .entity-cm-cols .entity-col-grip {
    padding: 0 .2rem;
    font-size: 1.5em;
  }

  .entity-cm-cols .entity-check input[type=checkbox] {
    width: 1.35em;
    height: 1.35em;
  }

  .entity-cm-cols .entity-col-remove {
    opacity: .7;
    padding: .25rem .35rem;
    font-size: 1.25rem;
  }
}

.entity-ref-ficha {
  color: inherit;
  text-decoration: none;
}

.entity-data-ambos {
  white-space: nowrap;
}

.entity-data-rel {
  opacity: .7;
  margin-left: .4em;
  font-size: .85em;
}

.entity-relcol-secao {
  border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  margin-top: .75rem;
  padding-top: .5rem;
}

.entity-relcol-box+.entity-relcol-box {
  border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent);
}

.entity-relcol-head {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  padding: .35rem .2rem;
  font-size: .9rem;
}

.entity-relcol-body {
  flex-direction: column;
  gap: .2rem;
  padding: .1rem 0 .4rem 1rem;
  display: flex;
}

.entity-ref-texto {
  display: inline;
}

.os-detalhe .os-numeracao {
  border-collapse: collapse;
  width: 100%;
}

.os-detalhe .os-numeracao td {
  vertical-align: middle;
  padding: .35rem .5rem .35rem 0;
}

.os-detalhe .os-numeracao-nome {
  width: 40%;
}

.os-detalhe .os-numeracao-valor {
  font-variant-numeric: tabular-nums;
  width: 30%;
}

.os-detalhe .os-numeracao-acao {
  text-align: right;
}

.os-detalhe .os-timeline-dia+.os-timeline-dia {
  margin-top: 1rem;
}

.os-detalhe .os-timeline-dia-rotulo {
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .65;
  border-bottom: 1px solid var(--bs-border-color,#80808040);
  margin-bottom: .5rem;
  padding-bottom: .25rem;
  font-size: .8rem;
}

.os-detalhe .os-evento {
  align-items: flex-start;
  gap: .5rem;
  padding: .4rem 0;
  display: flex;
}

.os-detalhe .os-evento-marca {
  opacity: .7;
  line-height: 1.4;
}

.os-detalhe .os-evento-hora {
  font-variant-numeric: tabular-nums;
  opacity: .7;
  min-width: 3.2em;
}

.os-detalhe .os-evento-corpo {
  flex: auto;
  min-width: 0;
}

.os-detalhe .os-evento-titulo {
  font-weight: 600;
}

.os-detalhe .os-evento-nota {
  opacity: .85;
}

.os-detalhe .os-evento-acoes {
  flex: none;
}

.os-detalhe .os-evento.is-excluido .os-evento-titulo,
.os-detalhe .os-evento.is-excluido .os-evento-nota {
  text-decoration: line-through;
}

.os-detalhe .os-evento.is-excluido {
  opacity: .6;
}

.os-detalhe .os-evento-exclusao {
  font-style: italic;
}

.os-detalhe .os-numeracao-vazio {
  max-width: 42rem;
}

.ficha-imovel .ficha-secao+.ficha-secao {
  margin-top: 1.5rem;
}

.ficha-imovel .ficha-secao-titulo {
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .65;
  border-bottom: 1px solid var(--bs-border-color,#80808040);
  margin-bottom: .75rem;
  padding-bottom: .25rem;
  font-size: .8rem;
  font-weight: 600;
}

.ficha-imovel .ficha-campo {
  align-items: baseline;
  gap: .75rem;
  padding: .2rem 0;
  display: flex;
}

.ficha-imovel .ficha-campo-rotulo {
  opacity: .8;
  flex: 0 0 12rem;
  max-width: 12rem;
}

.ficha-imovel .ficha-campo-valor {
  flex: auto;
  min-width: 0;
  max-width: 32rem;
}

@media (width<=40rem) {
  .ficha-imovel .ficha-campo {
    display: block;
  }

  .ficha-imovel .ficha-campo-rotulo {
    max-width: none;
    display: block;
  }

  .ficha-imovel .ficha-campo-valor {
    max-width: none;
  }
}

.ficha-imovel .ficha-indicadores {
  border: 1px solid var(--bs-border-color,#80808040);
  border-radius: .375rem;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1.5rem;
  margin-top: .75rem;
  padding: .5rem .75rem;
  display: flex;
}

.ficha-imovel .ficha-indicador-rotulo {
  opacity: .7;
  font-size: .8rem;
  display: block;
}

.ficha-imovel .ficha-caixas {
  border-collapse: collapse;
  width: 100%;
}

.ficha-imovel .ficha-caixas td {
  vertical-align: middle;
  padding: .35rem .5rem .35rem 0;
}

.ficha-imovel .ficha-caixa-vol {
  font-variant-numeric: tabular-nums;
  width: 8rem;
}

.ficha-imovel .ficha-caixa-acoes {
  text-align: right;
  width: 14rem;
}

.org-tenant {
  margin-bottom: 1.5rem;
  padding: .85rem 1.1rem;
}

.org-tenant-grade {
  grid-template-columns: repeat(auto-fit,minmax(10rem,1fr));
  align-items: start;
  gap: .7rem 1.5rem;
  display: grid;
}

.org-tenant .par {
  flex-direction: column;
  gap: .05rem;
  min-width: 0;
  display: flex;
}

.org-tenant .par .k {
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .6;
  white-space: nowrap;
  font-size: .68rem;
}

.org-tenant .par .v {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: .9rem;
  font-weight: 600;
}

.org-tenant .par .v.num {
  font-variant-numeric: tabular-nums;
  font-size: .86rem;
}

.org-topo {
  flex-wrap: wrap;
  align-items: baseline;
  gap: .75rem;
  margin-bottom: .9rem;
  display: flex;
}

.org-topo h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 640;
}

.org-contagem {
  opacity: .65;
  font-variant-numeric: tabular-nums;
  font-size: .82rem;
}

.org-cresce {
  flex: auto;
}

.org-grade {
  grid-template-columns: repeat(auto-fill,minmax(20rem,1fr));
  align-items: start;
  gap: 1rem;
  display: grid;
}

.org-cartao {
  overflow: hidden;
}

.org-cartao-head {
  text-align: left;
  width: 100%;
  font: inherit;
  color: inherit;
  cursor: pointer;
  border: 0;
  border-radius: 0;
  align-items: flex-start;
  gap: .55rem;
  display: flex;
}

.org-cartao-head:hover {
  filter: brightness(.98);
}

.org-cartao-head:focus-visible {
  outline-offset: -3px;
  outline: 2px solid;
}

.org-seta {
  opacity: .55;
  flex: none;
  line-height: 1.4;
  transition: transform .15s;
}

.org-seta.aberta {
  transform: rotate(90deg);
}

@media (prefers-reduced-motion:reduce) {
  .org-seta {
    transition: none;
  }
}

.org-cartao-nome {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.org-cartao-titulo {
  letter-spacing: -.008em;
  overflow-wrap: anywhere;
  font-size: 1rem;
  font-weight: 660;
  line-height: 1.25;
}

.org-cartao-sub {
  opacity: .7;
  overflow-wrap: anywhere;
  margin-top: .1rem;
  font-size: .8rem;
}

.org-pf {
  letter-spacing: .07em;
  color: var(--app-warning,currentColor);
  white-space: nowrap;
  cursor: help;
  border: 1px solid;
  border-radius: 3px;
  flex: none;
  margin-top: .15rem;
  padding: .12rem .4rem;
  font-size: .62rem;
}

.org-cartao-corpo {
  padding-top: .25rem;
  padding-bottom: .4rem;
}

.org-bloco {
  border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  padding: .55rem 0;
}

.org-bloco:first-child {
  border-top: 0;
  padding-top: .25rem;
}

.org-bloco-t {
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .6;
  margin: 0 0 .25rem;
  font-size: .62rem;
  font-weight: 600;
}

.org-linha {
  align-items: baseline;
  gap: .6rem;
  padding: .1rem 0;
  font-size: .875rem;
  display: flex;
}

.org-k {
  opacity: .65;
  flex: none;
  min-width: 5.5rem;
  font-size: .78rem;
}

.org-v {
  overflow-wrap: anywhere;
  min-width: 0;
}

.org-num {
  font-variant-numeric: tabular-nums;
  font-size: .84rem;
}

.org-obs {
  opacity: .7;
  font-size: .78rem;
  display: block;
}

.org-vazio {
  opacity: .6;
  font-size: .83rem;
  font-style: italic;
}

.org-nada {
  margin: .5rem 0 0;
}

.org-cartao-pe {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.org-id {
  opacity: .6;
  font-variant-numeric: tabular-nums;
  border-bottom: 1px dotted;
  font-size: .76rem;
  text-decoration: none;
}

.org-id:hover {
  opacity: 1;
}

.org-convite {
  width: 100%;
  padding: 1.75rem;
}

.org-convite-grade {
  grid-template-columns: minmax(0,10rem) minmax(0,1fr);
  align-items: center;
  gap: 2rem;
  display: grid;
}

@media (width<=44rem) {
  .org-convite-grade {
    text-align: center;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .org-convite-acoes {
    justify-content: center;
  }
}

.org-ilustra {
  width: 100%;
  max-width: 10rem;
  height: auto;
  color: var(--app-primary,currentColor);
  margin-inline: auto;
  display: block;
}

.org-convite-txt {
  min-width: 0;
}

.org-convite-t {
  letter-spacing: -.012em;
  margin: 0 0 .5rem;
  font-size: 1.2rem;
  font-weight: 660;
}

.org-convite-txt p {
  opacity: .85;
  max-width: 44rem;
  margin: 0 0 .5rem;
  font-size: .93rem;
}

.org-convite-acoes {
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: 1rem;
  display: flex;
}

.be-form {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .75rem;
  margin-bottom: 1rem;
  display: flex;
}

.be-field {
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
  display: flex;
}

.be-field label {
  opacity: .75;
  font-size: .78rem;
}

.be-field.be-texto {
  flex: 16rem;
}

.be-field.be-narrow input,
.be-field.be-narrow select {
  width: 7rem;
}

.be-check {
  align-items: center;
  gap: .35rem;
  padding-bottom: .4rem;
  display: inline-flex;
}

.be-results {
  overflow-x: auto;
}

.be-table {
  border-collapse: collapse;
  width: 100%;
  font-size: .88rem;
}

.be-table th,
.be-table td {
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  padding: .35rem .5rem;
}

.be-table th {
  text-transform: uppercase;
  letter-spacing: .02em;
  opacity: .7;
  font-size: .75rem;
}

.be-table tbody tr:hover td {
  background: color-mix(in srgb, currentColor 5%, transparent);
}

.be-origem {
  border-radius: .8rem;
  padding: .1rem .4rem;
  font-size: .7rem;
  font-weight: 600;
}

.be-muted {
  opacity: .55;
}

.be-geo {
  font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size: .78rem;
  line-height: 1.25;
}

.be-pager {
  align-items: center;
  gap: .75rem;
  margin-top: .75rem;
  display: flex;
}

.cobranca-table-wrap {
  overflow-x: auto;
}

.cobranca-table {
  border-collapse: collapse;
  width: 100%;
  font-size: .925rem;
}

.cobranca-table th,
.cobranca-table td {
  text-align: left;
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  white-space: nowrap;
  vertical-align: middle;
  padding: .45rem .6rem;
}

.cobranca-table th {
  opacity: .8;
  font-weight: 600;
}

.cobranca-table td.num,
.cobranca-table th.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.cobranca-competencia,
.cobranca-table td.competencia {
  font-size: 1.05rem;
}

.cobranca-acao-menu {
  font-size: .875rem!important;
}

.cobranca-acao-item {
  padding: .2rem .65rem!important;
}

.cobranca-table td.acao,
.cobranca-table th.acao {
  text-align: center;
  width: 1%;
}

.cobranca-table input.valor {
  text-align: right;
  width: 8.5rem;
}

.cobranca-table input.meses {
  text-align: right;
  width: 4.5rem;
}

.cobranca-table tr.ajustada td:first-child {
  box-shadow: inset 3px 0 0 var(--app-primary,#0d6efd);
}

.cobranca-status {
  border: 1px solid;
  border-radius: .35rem;
  padding: .15rem .5rem;
  font-size: .8rem;
  font-weight: 600;
  display: inline-block;
}

.cobranca-status.st-PAG {
  color: #2fa06a;
}

.cobranca-status.st-ABE {
  color: var(--app-link,#0d6efd);
}

.cobranca-status.st-PRO {
  color: #c98a04;
}

.cobranca-status.st-CAN,
.cobranca-status.st-EXP {
  color: var(--app-secondary-color,#6c757d);
}

.cobranca-status.st-aberta {
  color: var(--app-link,#0d6efd);
}

.cobranca-status.st-atrasada {
  color: var(--app-danger,#c0392b);
}

.cobranca-status.st-em-dia {
  color: #2fa06a;
}

.cobranca-combo {
  background: linear-gradient(120deg, var(--app-info) 0%, var(--app-success) 100%);
  box-shadow: 0 8px 24px -10px #0006;
}

.cobranca-combo-track {
  margin: 0 .5rem 1.85rem;
  position: relative;
}

.cobranca-combo-tick {
  background: color-mix(in srgb, currentColor 25%, transparent);
  border: 2px solid color-mix(in srgb, currentColor 65%, transparent);
  border-radius: 50%;
  width: .55rem;
  height: .55rem;
  transition: border-color .2s,background-color .2s;
  position: absolute;
  top: .25rem;
  transform: translate(-50%,-50%);
}

.cobranca-combo-tick.on {
  background: currentColor;
  border-color: currentColor;
}

.cobranca-combo-tick .tt {
  color: color-mix(in srgb, currentColor 80%, transparent);
  white-space: nowrap;
  font-size: .68rem;
  position: absolute;
  top: 1.05rem;
  left: 50%;
  transform: translate(-50%);
}

.cobranca-combo-badge {
  background: #00000052;
  border: 1px solid #fff6;
}

.cobranca-ajuste {
  border-top: 1px solid var(--bs-border-color,#8080804d);
  margin-top: .75rem;
  padding-top: .75rem;
}

.cobranca-table tr.cobranca-inativo,
.cobranca-cliente-card.cobranca-inativo {
  opacity: .65;
}

.cobranca-busca {
  width: 14rem;
}

.cobranca-acao-titulo {
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .7;
  padding: .4rem .65rem .1rem;
  font-size: .72rem;
  font-weight: 600;
}

.cobranca-acao-radio:before {
  content: "";
  width: 1.2em;
  display: inline-block;
}

.cobranca-acao-radio[aria-checked=true]:before {
  content: "✓";
}

.cobranca-acao-sub {
  opacity: .75;
  font-size: .8rem;
  font-weight: 400;
}

.cobranca-pagamento.is-colorido .cobranca-pagamento-sec.cobranca-pagamento-sec {
  opacity: .8;
  color: inherit!important;
}

.cobranca-linha-colorida .cobranca-status.cobranca-status,
.cobranca-pagamento.is-colorido .cobranca-status.cobranca-status {
  color: var(--app-body-color,CanvasText);
  background-color: var(--app-surface,Canvas);
}

.cobranca-pagamento.is-colorido button:not(:hover):not(:focus-visible):not(:disabled) {
  color: inherit!important;
  border-color: currentColor!important;
}

.cobranca-sel {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .375rem;
  display: flex;
}

.cobranca-sel-grupo {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.cobranca-sel-celula {
  flex-direction: column;
  gap: .2rem;
  display: flex;
}

.cobranca-sel-num {
  font-variant-numeric: tabular-nums;
  min-width: 2.4rem;
}

.cobranca-sel-pct {
  box-sizing: border-box;
  border-bottom: 2px solid var(--app-success,#198754);
  height: 1rem;
  color: color-mix(in srgb, var(--app-success,#198754) 70%, var(--app-body-color,CanvasText));
  text-align: center;
  font-size: .7rem;
  font-weight: 600;
  line-height: .8rem;
  display: block;
}

.cobranca-sel-pct.vazio {
  border-bottom-color: #0000;
}

.cobranca-sel-faixa {
  text-align: center;
  border-top: 2px solid #0000;
  padding-top: .125rem;
  font-size: .7rem;
  font-weight: 600;
  line-height: .9rem;
  display: block;
}

.cobranca-sel-faixa.atrasada {
  border-top-color: var(--app-danger,#dc3545);
  color: color-mix(in srgb, var(--app-danger,#dc3545) 75%, var(--app-body-color,CanvasText));
}

.cobranca-sel-faixa.atual {
  border-top-color: var(--app-warning,#ffc107);
  color: color-mix(in srgb, var(--app-warning,#ffc107) 45%, var(--app-body-color,CanvasText));
}

.cobranca-sel-desmarcar {
  margin-top: 1.2rem;
}

.cobranca-sel-linha {
  font-variant-numeric: tabular-nums;
  justify-content: center;
  align-items: center;
  gap: .25rem;
  min-width: 3.25rem;
  font-weight: 700;
  display: inline-flex;
}

.cobranca-sel-check {
  fill: none;
  stroke: currentColor;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 1.15em;
  height: 1.15em;
}

.cobranca-linha-colorida .cobranca-sel-linha.vazia:not(:hover):not(:focus-visible) {
  color: inherit!important;
  border-color: currentColor!important;
}

.cobranca-troca-par {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  background: color-mix(in srgb, currentColor 4%, transparent);
  border-radius: .5rem;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  display: grid;
}

.cobranca-troca-seta {
  opacity: .7;
  font-size: 1.25rem;
}

@media (width<=575px) {
  .cobranca-troca-par {
    grid-template-columns: minmax(0,1fr);
  }

  .cobranca-troca-seta {
    display: none;
  }
}

.nfse-config-grade {
  grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
  gap: .75rem;
  display: grid;
}

.nfse-config {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .375rem;
  padding: .75rem;
}

.nfse-config-campos {
  grid-template-columns: max-content 1fr;
  gap: .35rem .75rem;
  margin: 0;
  font-size: .875rem;
  display: grid;
}

.nfse-config-campos dt {
  font-weight: 600;
}

.nfse-config-campos dd {
  margin: 0;
}

.nfse-emitentes-grade {
  grid-template-columns: repeat(auto-fill,minmax(22rem,1fr));
  align-items: start;
  gap: 1rem;
  display: grid;
}

.nfse-emitente-corpo {
  grid-template-columns: max-content 1fr;
  gap: .35rem .75rem;
  margin: 0;
  font-size: .875rem;
  display: grid;
}

.nfse-emitente-corpo dt {
  font-weight: 600;
}

.nfse-emitente-corpo dd {
  overflow-wrap: anywhere;
  min-width: 0;
  margin: 0;
}

.nfse-emitente-pe {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.nfse-emitente-pe .cresce {
  flex: auto;
}

.nfse-faltas {
  color: var(--bs-danger,#dc3545);
  font-size: .82rem;
}

.nfse-trib-grade {
  grid-template-columns: repeat(auto-fit,minmax(13rem,1fr));
  gap: .75rem 1rem;
  display: grid;
}

.nfse-trib-grade [data-ajustado] label {
  font-weight: 700;
}

.nfse-trib-grade .largo {
  grid-column: 1/-1;
}

.nfse-municipio-incidencia {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .375rem;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.nfse-link {
  color: var(--app-link,var(--bs-link-color,#0d6efd));
  font-size: inherit;
  vertical-align: baseline;
  background: 0 0;
  border: 0;
  padding: 0;
  text-decoration: underline;
}

.nfse-form-grade {
  grid-template-columns: repeat(auto-fit,minmax(13rem,1fr));
  gap: .9rem 1rem;
  display: grid;
}

.nfse-form-grade .largo {
  grid-column: 1/-1;
}

.nfse-tomador-cartao {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  background: color-mix(in srgb, currentColor 4%, transparent);
  border-radius: .375rem;
  padding: .6rem .9rem;
}

.nfse-trib-box {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .375rem;
}

.nfse-trib-box>summary {
  cursor: pointer;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding: .65rem .9rem;
  list-style: none;
  display: flex;
}

.nfse-trib-box>summary::-webkit-details-marker {
  display: none;
}

.nfse-trib-box[open]>summary {
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.nfse-trib-seta {
  opacity: .6;
  transition: transform .15s;
  display: inline-block;
}

.nfse-trib-box[open] .nfse-trib-seta {
  transform: rotate(90deg);
}

.nfse-trib-resumo {
  opacity: .75;
  flex: auto;
  min-width: 0;
  font-size: .86rem;
}

.nfse-trib-box[open] .nfse-trib-resumo,
.nfse-trib-box[open] .nfse-trib-dica {
  display: none;
}

.nfse-trib-corpo {
  padding: .9rem;
}

@media (prefers-reduced-motion:reduce) {
  .nfse-trib-seta {
    transition: none;
  }
}

.nfse-rodape-emitir {
  border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 2rem;
  margin-top: 1rem;
  padding-top: .9rem;
  display: flex;
}

.nfse-rodape-emitir .cresce {
  flex: auto;
}

.nfse-ambiente-radios {
  flex-wrap: wrap;
  gap: 1.25rem;
  display: flex;
}

.nfse-ambiente-radios label {
  cursor: pointer;
  align-items: flex-start;
  gap: .4rem;
  display: flex;
}

.nfse-emitir-com {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  margin-bottom: .5rem;
  display: flex;
}

.nfse-tomador {
  position: relative;
}

.nfse-tomador-linha {
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: .5rem;
  display: grid;
}

@media (width<=520px) {
  .nfse-tomador-linha {
    grid-template-columns: 1fr;
  }
}

.nfse-tomador-campo {
  position: relative;
}

.nfse-tomador .nfse-tomador-campo input {
  padding-left: 2.1rem;
  padding-right: 1.8rem;
}

.nfse-tomador-lupa {
  opacity: .6;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: .65rem;
  transform: translateY(-50%);
}

.nfse-tomador-limpar {
  color: inherit;
  opacity: .6;
  cursor: pointer;
  background: 0 0;
  border: 0;
  font-size: 1rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: .4rem;
  transform: translateY(-50%);
}

.nfse-tomador-pop {
  z-index: 30;
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  background: var(--app-surface,Canvas);
  border-radius: .375rem;
  margin-top: -1.1rem;
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
  box-shadow: 0 8px 24px -12px #00000073;
}

.nfse-tomador-pop-cab,
.nfse-tomador-pop-pe {
  background: color-mix(in srgb, currentColor 5%, transparent);
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding: .4rem .7rem;
  font-size: .78rem;
  display: flex;
}

.nfse-tomador-pop-cab {
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.nfse-tomador-pop-pe {
  border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.nfse-tomador-pop-pe kbd {
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  border-radius: .25rem;
  margin-right: .15rem;
  padding: .1rem .3rem;
  font: .72rem/1 ui-monospace,Menlo,Consolas,monospace;
}

.nfse-tomador-aguardando,
.nfse-tomador-vazio {
  padding: .7rem .8rem;
  font-size: .84rem;
}

.nfse-tomador-aguardando {
  opacity: .7;
}

.nfse-tomador-lista {
  max-height: 19rem;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: auto;
}

.nfse-tomador-opcao {
  text-align: left;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  width: 100%;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: 0 0;
  grid-template-columns: 1fr auto;
  gap: .1rem .75rem;
  padding: .5rem .7rem;
  display: grid;
}

.nfse-tomador-lista li:last-child .nfse-tomador-opcao {
  border-bottom: 0;
}

.nfse-tomador-opcao:hover,
.nfse-tomador-opcao.ativo {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.nfse-tomador-nome {
  grid-column: 1;
  font-weight: 700;
}

.nfse-tomador-fant {
  opacity: .65;
  font-weight: 400;
}

.nfse-tomador-det {
  opacity: .7;
  grid-column: 1;
  font-size: .8rem;
}

.nfse-tomador-selos {
  flex-wrap: wrap;
  grid-area: 1/2/span 2;
  justify-content: flex-end;
  align-self: center;
  gap: .3rem;
  display: flex;
}

.nfse-tomador-cartao-cab {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.nfse-tomador-ferr {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-bottom: .8rem;
  display: flex;
}

.nfse-tomador-ferr input {
  max-width: 22rem;
}

.nfse-tomador-rolagem {
  overflow-x: auto;
}

.nfse-tomador-tabela {
  font-size: .86rem;
}

.nfse-tomador-tabela td,
.nfse-tomador-tabela th {
  padding: .4rem .5rem;
}

.nfse-tomador-tabela tbody tr {
  cursor: pointer;
}

.nfse-tomador-tabela tbody tr:hover td {
  background: color-mix(in srgb, currentColor 8%, transparent);
}

.nfse-tomador-tabela tbody tr:focus-visible td {
  background: color-mix(in srgb, currentColor 10%, transparent);
  outline: none;
}

.nfse-ibscbs {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .375rem;
  margin-top: 1rem;
}

.nfse-ibscbs-cab {
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  background: color-mix(in srgb, currentColor 5%, transparent);
  border-radius: .375rem .375rem 0 0;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding: .55rem .9rem;
  display: flex;
}

.nfse-ibscbs>p,
.nfse-ibscbs>.nfse-trib-grade {
  padding: 0 .9rem;
}

.nfse-ibscbs>p {
  margin-top: .6rem;
}

.nfse-ibscbs>.nfse-trib-grade {
  padding-bottom: .9rem;
}

.nfse-ibscbs .largo {
  grid-column: 1/-1;
}

.nfse-parametros-json {
  white-space: pre;
  border: 1px solid var(--bs-border-color,#dee2e6);
  border-radius: .25rem;
  max-height: 22rem;
  margin: 0;
  padding: .5rem;
  font-size: .8rem;
  overflow: auto;
}

.nfse-parametros-tentativa {
  margin-bottom: .4rem;
}

.nfse-parametros-tentativa summary {
  cursor: pointer;
}

.nfse-parametros-tentativa pre {
  margin-top: .25rem;
}

.danfse {
  color: #000;
  background: #fff;
  border: 1px solid #333;
  max-width: 820px;
  font-size: .82rem;
  position: relative;
}

.danfse section {
  border-top: 1px solid #333;
  padding: 6px 10px;
}

.danfse h2 {
  text-transform: uppercase;
  margin: 0 0 4px;
  font-size: .75rem;
  font-weight: 700;
}

.danfse .danfse-topo {
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  display: flex;
}

.danfse .danfse-qr svg {
  width: 110px;
  height: 110px;
  display: block;
}

.danfse .danfse-titulo {
  font-size: 1.05rem;
  font-weight: 700;
}

.danfse dl {
  grid-template-columns: repeat(auto-fill,minmax(180px,1fr));
  gap: 2px 12px;
  margin: 0;
  display: grid;
}

.danfse dt {
  color: #555;
  font-size: .68rem;
  font-weight: 400;
}

.danfse dd {
  overflow-wrap: anywhere;
  margin: 0 0 4px;
}

.danfse .largo {
  grid-column: 1/-1;
}

.danfse .danfse-aviso {
  color: #b00;
  text-align: center;
  border: 2px solid #b00;
  margin: 6px 10px;
  padding: 4px;
  font-weight: 700;
}

@media print {
  body * {
    visibility: hidden;
  }

  .danfse,
  .danfse * {
    visibility: visible;
  }

  .danfse {
    width: 100%;
    max-width: none;
    position: absolute;
    top: 0;
    left: 0;
  }
}

.senha-medidor {
  --senha-s0: #a9232b;
  --senha-s1: #b25a1e;
  --senha-s2: #8a7112;
  --senha-s3: #46783a;
  --senha-s4: #1c6350;
  --senha-vazio: color-mix(in srgb, currentColor 18%, transparent);
  --senha-heat-0: #a9232b24;
  --senha-heat-1: #b25a1e21;
  --senha-heat-2: #8a711221;
  --senha-heat-3: #46783a21;
  --senha-heat-4: #1c635021;
  margin-top: .45rem;
}

@media (prefers-color-scheme:dark) {
  .senha-medidor {
    --senha-s0: #e4666c;
    --senha-s1: #e0904a;
    --senha-s2: #c9ad3c;
    --senha-s3: #79b265;
    --senha-s4: #46b394;
    --senha-heat-0: #e4666c26;
    --senha-heat-1: #e0904a24;
    --senha-heat-2: #c9ad3c24;
    --senha-heat-3: #79b26524;
    --senha-heat-4: #46b39424;
  }
}

.senha-segs {
  gap: 3px;
  display: flex;
}

.senha-seg {
  background: var(--senha-vazio);
  border-radius: 2px;
  flex: 1;
  height: 5px;
  transition: background-color .15s;
}

@media (prefers-reduced-motion:reduce) {
  .senha-seg {
    transition: none;
  }
}

.senha-linha {
  justify-content: space-between;
  align-items: baseline;
  gap: .75rem;
  margin-top: .35rem;
  font-size: .82rem;
  display: flex;
}

.senha-veredito {
  font-weight: 600;
}

.senha-legenda {
  opacity: .7;
  font-weight: 400;
}

.senha-score {
  font-variant-numeric: tabular-nums;
  opacity: .75;
  cursor: help;
  white-space: nowrap;
  font-size: .78rem;
}

.senha-score b {
  font-weight: 600;
}

.senha-msg {
  margin-top: .4rem;
  font-size: .82rem;
  line-height: 1.45;
}

.senha-aviso {
  font-weight: 600;
}

.senha-msg ul {
  margin: .15rem 0 0;
  padding-left: 1.05rem;
}

.senha-msg li {
  opacity: .85;
  margin: .1rem 0;
}

.senha-exp {
  margin-top: .5rem;
}

.senha-exp-btn {
  font: inherit;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: inherit;
  opacity: .7;
  cursor: pointer;
  background: 0 0;
  border: 0;
  align-items: center;
  gap: .35rem;
  padding: .15rem 0;
  font-size: .76rem;
  display: inline-flex;
}

.senha-exp-btn:hover {
  opacity: 1;
}

.senha-exp-seta {
  transition: transform .15s;
  display: inline-block;
}

.senha-exp-seta.on {
  transform: rotate(90deg);
}

@media (prefers-reduced-motion:reduce) {
  .senha-exp-seta {
    transition: none;
  }
}

.senha-quad {
  grid-template-columns: auto 1fr 1fr;
  gap: 3px;
  margin-top: .45rem;
  display: grid;
}

.senha-q-h {
  letter-spacing: .09em;
  text-transform: uppercase;
  opacity: .6;
  justify-content: center;
  align-items: center;
  padding: .15rem;
  font-size: .62rem;
  display: flex;
}

.senha-q-h.lado {
  writing-mode: vertical-rl;
  padding: .25rem .1rem;
  transform: rotate(180deg);
}

.senha-q {
  border-radius: 4px;
  min-width: 0;
  padding: .4rem .5rem;
}

.senha-q-k {
  letter-spacing: .05em;
  text-transform: uppercase;
  opacity: .65;
  white-space: nowrap;
  font-size: .6rem;
  display: block;
}

.senha-q-v {
  font-variant-numeric: tabular-nums;
  margin-top: .05rem;
  font-size: .9rem;
  font-weight: 600;
  display: block;
}

.senha-gerar-menu {
  flex-direction: column;
  gap: .15rem;
  padding: .6rem;
  display: flex;
}

.senha-modo {
  cursor: pointer;
  border-radius: 5px;
  align-items: flex-start;
  gap: .5rem;
  padding: .4rem .45rem;
  display: flex;
}

.senha-modo:hover {
  background: color-mix(in srgb, currentColor 7%, transparent);
}

.senha-modo.on {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.senha-modo input {
  flex: none;
  margin-top: .25rem;
}

.senha-modo-txt {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.senha-modo-rot {
  font-size: .85rem;
  font-weight: 600;
}

.senha-modo-desc {
  opacity: .7;
  font-size: .75rem;
  line-height: 1.35;
}

.senha-gerar-sep {
  background: color-mix(in srgb, currentColor 15%, transparent);
  height: 1px;
  margin: .45rem .1rem;
}

.senha-tam {
  padding: 0 .45rem .2rem;
}

.senha-tam-rot {
  letter-spacing: .03em;
  text-transform: uppercase;
  opacity: .7;
  justify-content: space-between;
  font-size: .75rem;
  display: flex;
}

.senha-tam-rot b {
  font-variant-numeric: tabular-nums;
  opacity: 1;
}

.senha-tam input[type=range] {
  width: 100%;
  margin: .15rem 0 0;
}

.senha-tam-bits {
  opacity: .6;
  font-variant-numeric: tabular-nums;
  font-size: .72rem;
  display: block;
}

.senha-gerar-ok {
  margin-top: .5rem;
}

.senha-campo {
  align-items: flex-start;
  gap: .4rem;
  display: flex;
}

.senha-campo>.senha-campo-com-copia {
  flex: auto;
  min-width: 0;
}

.senha-gerar {
  flex: none;
}

.senha-campo-com-copia {
  display: flex;
  position: relative;
}

.senha-campo-com-copia>input {
  flex: auto;
  min-width: 0;
  padding-right: 2.25rem;
}

.senha-copiar {
  width: 2.1rem;
  color: inherit;
  opacity: .55;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: 0 .35rem .35rem 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
  position: absolute;
  top: 1px;
  bottom: 1px;
  right: 1px;
}

.senha-copiar:hover {
  opacity: 1;
}

.senha-copiar:focus-visible {
  opacity: 1;
  outline-offset: -2px;
  outline: 2px solid;
}

.senha-copiar.copiado {
  opacity: 1;
  color: var(--senha-ok,#1c6350);
}

.senha-copiar.falhou {
  opacity: 1;
  color: var(--senha-erro,#a9232b);
}

@media (prefers-color-scheme:dark) {
  .senha-copiar.copiado {
    color: var(--senha-ok,#46b394);
  }

  .senha-copiar.falhou {
    color: var(--senha-erro,#e4666c);
  }
}

.faixa-manutencao {
  background: color-mix(in srgb, var(--app-warning,#f0ad4e) 22%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--app-warning,#f0ad4e) 45%, transparent);
  color: inherit;
  flex: none;
  align-items: baseline;
  gap: .5rem;
  padding: .45rem 1rem;
  font-size: .875rem;
  line-height: 1.35;
  display: flex;
}

.faixa-manutencao-icone {
  flex: none;
  font-size: 1rem;
  line-height: 1;
}

.faixa-sessao {
  background: color-mix(in srgb, var(--app-danger,#d9534f) 20%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--app-danger,#d9534f) 45%, transparent);
  color: inherit;
  flex: none;
  align-items: baseline;
  gap: .5rem;
  padding: .45rem 1rem;
  font-size: .875rem;
  line-height: 1.35;
  display: flex;
}

.faixa-sessao-icone {
  flex: none;
  font-size: 1rem;
  line-height: 1;
}

.faixa-sessao a {
  color: inherit;
  font-weight: 600;
}

