/* Identidade aprovada em 12/09/2026. Os PNGs são os originais da abertura.
   O wordmark usa seu próprio alpha, não uma fonte parecida. currentColor
   permite contraste nos dois temas sem inverter o azul/creme do símbolo. */
.langris-logo {
  --marca-altura: 32px;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 8px !important;
  height: var(--marca-altura);
  max-width: 100%;
  flex: none;
  vertical-align: middle;
  color: inherit;
  line-height: 1;
}
.langris-logo > .langris-logo__simbolo {
  display: block;
  width: calc(var(--marca-altura) * 1.066098081) !important;
  height: var(--marca-altura) !important;
  max-width: none;
  flex: none;
  object-fit: contain;
  filter: none !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.langris-logo > .langris-logo__nome {
  display: block !important;
  width: calc(var(--marca-altura) * 2.646055437);
  height: var(--marca-altura);
  flex: none;
  margin: 0 !important;
  padding: 0 !important;
  background: currentColor;
  -webkit-mask: url('/assets/marca/langris-wordmark-v1.png') center / contain no-repeat;
  mask: url('/assets/marca/langris-wordmark-v1.png') center / contain no-repeat;
}
@supports not (mask-image: url('')) {
  .langris-logo > .langris-logo__nome {
    background: url('/assets/marca/langris-wordmark-v1.png') center / contain no-repeat;
  }
  [data-op-tema="escuro"] .langris-logo > .langris-logo__nome,
  .plataforma-operacional .langris-logo > .langris-logo__nome { filter: invert(1); }
}

/* As classes específicas neutralizam camadas visuais antigas sem mudar o tema. */
.lp-brand .langris-logo { --marca-altura: 32px; }
.lp-footer .langris-logo { --marca-altura: 30px; }
.site-head .marca { gap: 16px; }
.site-head .marca .langris-logo { --marca-altura: 34px; }
.site-head .marca-contexto { color: var(--muted, #747479); font: 500 10px/1.4 system-ui, sans-serif; letter-spacing: .09em; }
body.produto-operacional .op-brand .langris-logo { --marca-altura: 28px; }
body.produto-operacional .login-brand { align-items: flex-start; flex-direction: column; gap: 9px; }
body.produto-operacional .login-brand .langris-logo { --marca-altura: 40px; }
body.produto-operacional .login-brand > .marca-contexto { font-size: 10px; letter-spacing: .08em; }
.founder-brand { flex-wrap: wrap; gap: 12px; }
.founder-brand .langris-logo { --marca-altura: 34px; }
.founder-brand > .marca-contexto { color: #aea69c; font-size: 10px; letter-spacing: .08em; }
body.produto-operacional .login-story::after {
  content: '';
  width: clamp(140px, 26vw, 300px);
  height: clamp(140px, 26vw, 300px);
  right: -4%;
  bottom: -4%;
  background: url('/assets/marca/langris-simbolo-v1.png') center / contain no-repeat;
  opacity: .06;
  filter: none;
  pointer-events: none;
}
.orbe.orbe--marca { height: calc(var(--size) * .938); }
.orbe--marca .orbe__imagem,
body .exp-home__orb { filter: none !important; object-fit: contain; }
.orbe--marca .orbe__imagem { animation: none !important; }
.orbe--marca .orbe__anel { display: none; }
.orbe--marca .orbe__ambiente { opacity: .25; }
@media (max-width: 600px) {
  .lp-brand .langris-logo { --marca-altura: 26px; gap: 6px !important; }
  .site-head .marca .langris-logo { --marca-altura: 28px; }
  .site-head .marca { gap: 8px; }
  .site-head .marca-contexto { max-width: 110px; font-size: 9px; }
  body.produto-operacional .op-brand .langris-logo { --marca-altura: 24px; gap: 6px !important; }
  .founder-brand .langris-logo { --marca-altura: 28px; }
  .founder-brand > .marca-contexto { display: none; }
}

/* O aviso do idioma no ar sem revisão nativa (`beta` em idioma/idiomas.mjs, 30/09/2026):
   uma linha discreta no topo, no idioma da pessoa. Mora aqui porque esta é a folha que
   toda página do produto carrega; o texto vem de js/piloto-app.js ou da variante do HTML. */
.aviso-idioma-beta {
  margin: 0;
  padding: 0 16px;
  /* Uma linha de altura fixa (a de --aviso-beta): a geometria do painel desconta esse
     número (operacao-radar-pauta.css, --rp-barra), então o aviso nunca quebra em duas. */
  height: var(--aviso-beta);
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  line-height: var(--aviso-beta);
  text-align: center;
  opacity: .72;
}
/* Com o aviso no alto do <body> (antes de #app), tudo o que o painel mede a partir do topo
   da janela começa --aviso-beta mais abaixo: a barra e a gaveta somam a altura dele a
   --rp-barra (operacao-radar-pauta.css), e o casco que ocupa a janela inteira (#app em
   langris.css, .op-shell em operacao-unificada.css) desconta, senão a página rola esses
   pixels e a borda de baixo do editor embutido fica fora da dobra. */
body:has(> .aviso-idioma-beta) { --aviso-beta: 28px; }
body.produto-operacional:has(> .aviso-idioma-beta) #app { min-height: calc(100vh - var(--aviso-beta)); }
body.produto-operacional[data-op-tema]:has(> .aviso-idioma-beta) .op-shell { min-height: calc(100dvh - var(--aviso-beta)); }
