/* modules/dmg/ui/prompt-agente.module.css */
.prompt_agente_painel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: min(640px, calc(100vh - 200px));
  min-height: 420px;
  padding: 18px;
  background: var(--lt-painel);
  border: 1px solid var(--lt-linha);
  border-radius: 16px;
}
.prompt_agente_cabeca {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--lt-linha);
}
.prompt_agente_titulo {
  margin: 0;
  font-family:
    var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: .18em;
}
.prompt_agente_rolagem {
  font-family:
    var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--lt-linha) transparent;
  padding: 18px 2px 0;
  display: grid;
  align-content: start;
  gap: 26px;
}
.prompt_agente_rotulo {
  margin: 0 0 11px;
  color: var(--lt-ink-terc);
  font-family:
    var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.prompt_agente_observacao {
  display: grid;
  gap: 12px;
  align-content: start;
}
.prompt_agente_fala {
  margin: 0;
  color: var(--lt-ink-sec);
  font-size: 12.5px;
  font-style: italic;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.prompt_agente_linhas {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 9px;
  list-style: none;
}
.prompt_agente_linhas li {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 8px;
  font-size: 12.5px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.prompt_agente_selo {
  color: var(--lt-ink-terc);
  font:
    600 10px/1.9 var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.prompt_agente_linhas li[data-selo=confirmado] .prompt_agente_selo {
  color: var(--lt-acento-texto);
}
.prompt_agente_linhas li[data-selo=bloqueio] .prompt_agente_selo {
  color: var(--lt-ink-sec);
  text-decoration: underline;
}
.prompt_agente_vazio {
  margin: 0;
  color: var(--lt-ink-terc);
  font-size: 12.5px;
  line-height: 1.5;
}
.prompt_agente_bibliografia {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}
.prompt_agente_bibliografia li {
  position: relative;
  padding: 10px 12px;
  background: var(--lt-painel-fundo);
  border: 1px solid var(--lt-linha);
  border-radius: 10px;
}
.prompt_agente_referencia {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.prompt_agente_trecho {
  margin: 6px 0 0;
  padding-left: 10px;
  border-left: 2px solid var(--lt-linha);
  color: var(--lt-ink-sec);
  font-size: 11.5px;
  font-style: italic;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.prompt_agente_bibliografia li[data-citada=nao] {
  border-style: dashed;
}
.prompt_agente_consultado {
  margin: 6px 0 0;
  color: var(--lt-ink-terc);
  font-size: 10.5px;
  letter-spacing: .02em;
}
.prompt_agente_doi {
  margin: 6px 0 0;
  color: var(--lt-ink-terc);
  font:
    500 10px/1.3 var(--font-receitas-mono),
    "IBM Plex Mono",
    monospace;
  overflow-wrap: anywhere;
}
.prompt_agente_cursor {
  display: inline-block;
  width: .5em;
  height: 1em;
  margin-left: 1px;
  vertical-align: -2px;
  background: var(--lt-acento-texto);
  animation: prompt_agente_piscar 1s steps(1) infinite;
}
.prompt_agente_somenteLeitor {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
@keyframes prompt_agente_piscar {
  50% {
    opacity: 0;
  }
}
@media (max-width: 860px) {
  .prompt_agente_painel {
    height: auto;
    min-height: 420px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .prompt_agente_cursor {
    animation: none;
  }
}

/* modules/dmg/ui/transcricao.module.css */
.transcricao_painel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: min(640px, calc(100vh - 200px));
  min-height: 420px;
  padding: 18px;
  background: var(--lt-painel);
  border: 1px solid var(--lt-linha);
  border-radius: 16px;
}
.transcricao_cabeca {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--lt-linha);
}
.transcricao_kicker {
  margin: 0 0 6px;
  color: var(--lt-acento-texto);
  font-family:
    var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.transcricao_titulo {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.02em;
}
.transcricao_estado {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 4px 10px;
  color: var(--lt-ink-sec);
  background: var(--lt-painel-fundo);
  border: 1px solid var(--lt-linha);
  border-radius: 999px;
  font-family:
    var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  font-size: 11px;
  letter-spacing: .04em;
  white-space: nowrap;
}
.transcricao_estado > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lt-ink-terc);
}
.transcricao_estado[data-ouvindo] {
  color: var(--lt-ink);
}
.transcricao_estado[data-ouvindo] > span {
  background: var(--lt-vermelhao);
  animation: transcricao_pulsar 1.4s ease-in-out infinite;
}
.transcricao_trilha {
  flex: 1;
  min-height: 0;
  padding: 16px 2px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.transcricao_vazio {
  max-width: 28ch;
  margin: 12% auto 0;
  color: var(--lt-ink-sec);
  font-size: 13.5px;
  line-height: 1.6;
  text-align: center;
}
.transcricao_lista {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.transcricao_item {
  display: flex;
}
.transcricao_item[data-autor=pessoa] {
  justify-content: flex-end;
}
.transcricao_item[data-autor=assistente] {
  justify-content: flex-start;
}
.transcricao_bolha {
  max-width: 78%;
  min-width: 0;
  padding: 10px 13px 8px;
  border-radius: 14px;
  animation: transcricao_entrar .24s ease-out both;
}
.transcricao_item[data-autor=pessoa] .transcricao_bolha {
  color: var(--lt-bolha-pessoa-ink);
  background: var(--lt-bolha-pessoa);
  border-bottom-right-radius: 5px;
}
.transcricao_item[data-autor=assistente] .transcricao_bolha {
  color: var(--lt-bolha-ia-ink);
  background: var(--lt-bolha-ia);
  border: 1px solid var(--lt-linha);
  border-bottom-left-radius: 5px;
}
.transcricao_item[data-parcial] .transcricao_bolha {
  border-style: dashed;
  border-color: var(--lt-vermelhao);
  border-width: 1px;
}
.transcricao_texto {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.transcricao_rodape {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 5px;
  font-family:
    var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  font-size: 10.5px;
  letter-spacing: .04em;
  opacity: .82;
}
.transcricao_autor {
  font-weight: 600;
}
.transcricao_hora {
  font-variant-numeric: tabular-nums;
}
.transcricao_selo {
  text-transform: lowercase;
}
.transcricao_bolinhas {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 18px;
}
.transcricao_bolinhas > span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  animation: transcricao_bolinha 1s ease-in-out infinite;
}
.transcricao_bolinhas > span:nth-child(2) {
  animation-delay: .14s;
}
.transcricao_bolinhas > span:nth-child(3) {
  animation-delay: .28s;
}
@keyframes transcricao_bolinha {
  0%, 60%, to {
    transform: translateY(0);
    opacity: .42;
  }
  30% {
    transform: translateY(-4px);
    opacity: 1;
  }
}
@keyframes transcricao_entrar {
  0% {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes transcricao_pulsar {
  0%, to {
    opacity: 1;
  }
  50% {
    opacity: .35;
  }
}
@media (max-width: 860px) {
  .transcricao_painel {
    height: 340px;
    min-height: 340px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .transcricao_bolha,
  .transcricao_estado[data-ouvindo] > span,
  .transcricao_bolinhas > span {
    animation: none !important;
  }
}

/* modules/microphone/microphone_state/ui/disco-voz.module.css */
.disco_voz_disco {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  --simbolo-voz: #fbf9f4;
  background: var(--cor-escura-disco, #102a43);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #fbf9f4, 0 0 0 2px var(--cor-escura-disco, #102a43);
  cursor: pointer;
  transition: background .5s ease, transform .7s ease;
}
.disco_voz_disco[data-paleta=laranja-preto] {
  --cor-escura-disco: #14171a;
}
.disco_voz_disco:disabled {
  cursor: default;
}
.disco_voz_disco:focus-visible {
  outline: 3px solid var(--cor-escura-disco, #102a43);
  outline-offset: 3px;
  box-shadow: 0 0 0 7px #fbf9f4;
}
.disco_voz_anelGovernado {
  position: absolute;
  z-index: 8;
  inset: 3px;
  pointer-events: none;
}
.disco_voz_anelGovernado svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: rotate(-90deg);
}
.disco_voz_anelGovernado circle {
  fill: none;
  stroke: var(--simbolo-voz);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 295.31;
  stroke-dashoffset: 295.31;
  animation: disco_voz_fechar-anel var(--duracao-anel) linear forwards;
}
.disco_voz_disco[data-fase=ouvindo],
.disco_voz_disco[data-fase=processando],
.disco_voz_disco[data-fase=saudacao],
.disco_voz_disco[data-fase=respondendo] {
  background: #f97316;
  --simbolo-voz: var(--cor-escura-disco, #102a43);
}
.disco_voz_giro {
  position: absolute;
  z-index: 0;
  left: -23%;
  top: -23%;
  width: 146%;
  height: 146%;
  opacity: 0;
  background:
    linear-gradient(
      112deg,
      var(--cor-escura-disco, #102a43) 0 47%,
      #f97316 47% 100%);
  transition: opacity .9s ease;
  animation: disco_voz_girar 7s linear infinite;
}
.disco_voz_disco[data-fase=espera] .disco_voz_giro {
  opacity: 1;
}
.disco_voz_simboloEstado {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  fill: var(--simbolo-voz);
  pointer-events: none;
}
.disco_voz_disco[data-fase=espera] .disco_voz_simboloEstado {
  fill: var(--cor-escura-disco, #102a43);
  stroke: #fbf9f4;
  stroke-width: 3;
  paint-order: stroke fill;
}
.disco_voz_disco[data-fase=espera] .disco_voz_anelGovernado circle {
  filter: drop-shadow(1px 0 0 var(--cor-escura-disco, #102a43)) drop-shadow(-1px 0 0 var(--cor-escura-disco, #102a43)) drop-shadow(0 1px 0 var(--cor-escura-disco, #102a43)) drop-shadow(0 -1px 0 var(--cor-escura-disco, #102a43));
}
.disco_voz_capsula,
.disco_voz_arco,
.disco_voz_pe {
  position: absolute;
  z-index: 3;
  opacity: 0;
  background: var(--simbolo-voz);
  transition:
    left .54s cubic-bezier(.34, 1.56, .64, 1),
    top .54s cubic-bezier(.34, 1.56, .64, 1),
    width .54s cubic-bezier(.34, 1.56, .64, 1),
    height .54s cubic-bezier(.34, 1.56, .64, 1),
    border-radius .54s ease,
    border-width .54s ease,
    opacity .26s ease;
}
.disco_voz_microfone {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  transform-origin: center;
  transition: transform .07s linear;
}
.disco_voz_disco[data-fase=ouvindo] .disco_voz_microfone {
  transform: scale(calc(1 + var(--energia-voz, 0) * .09));
}
.disco_voz_equalizador {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.8043%;
  pointer-events: none;
  opacity: 0;
  transition: opacity .12s linear;
}
.disco_voz_equalizador[data-ativo] {
  opacity: calc(min(1, var(--energia-voz, 0) * 100) * .92);
}
.disco_voz_equalizador > span {
  width: 3.8043%;
  height: calc(4.3478% + var(--banda-voz, 0) * 41.3043%);
  border-radius: 999px;
  background: var(--simbolo-voz);
  transition: height .06s linear;
}
.disco_voz_capsula {
  transition-delay: .18s;
}
.disco_voz_arco {
  background: none;
  border-style: solid;
  border-color: var(--simbolo-voz);
  transition-delay: .09s;
}
.disco_voz_disco[data-fase=ouvindo] .disco_voz_capsula,
.disco_voz_disco[data-fase=ouvindo] .disco_voz_arco,
.disco_voz_disco[data-fase=ouvindo] .disco_voz_pe {
  opacity: 1;
}
.disco_voz_leitorDeTela {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@keyframes disco_voz_girar {
  to {
    transform: rotate(360deg);
  }
}
@keyframes disco_voz_fechar-anel {
  to {
    stroke-dashoffset: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .disco_voz_disco,
  .disco_voz_giro,
  .disco_voz_letraL,
  .disco_voz_letraT,
  .disco_voz_preenchimento {
    animation: none !important;
  }
  .disco_voz_anelGovernado circle {
    animation-duration: .01ms !important;
  }
  .disco_voz_palavra,
  .disco_voz_preenchimento,
  .disco_voz_capsula,
  .disco_voz_arco,
  .disco_voz_pe,
  .disco_voz_microfone {
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }
  .disco_voz_microfone {
    transform: none !important;
  }
}

/* modules/dmg/ui/estudio-voz.module.css */
.estudio_voz_estudio {
  --lt-plano: #EDEAE3;
  --lt-painel: #FBF9F4;
  --lt-painel-fundo: rgba(20, 23, 26, .045);
  --lt-ink: #14171A;
  --lt-ink-sec: #6B767B;
  --lt-ink-terc: #8A8F94;
  --lt-linha: rgba(20, 23, 26, .14);
  --lt-acento-texto: #1F5F63;
  --lt-vermelhao: #D2521E;
  --lt-teal: #1F5F63;
  --lt-bolha-pessoa: #1F5F63;
  --lt-bolha-pessoa-ink: #FBF9F4;
  --lt-bolha-ia: #FBF9F4;
  --lt-bolha-ia-ink: #14171A;
  width: min(1420px, calc(100% - 48px));
  min-height: calc(100vh - var(--portal-header-height, 74px));
  margin: 0 auto;
  padding: clamp(24px, 4vh, 48px) 0 clamp(28px, 4vh, 56px);
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(280px, .78fr) minmax(320px, 1.05fr);
  align-items: stretch;
  gap: clamp(18px, 2.2vw, 34px);
  color: var(--lt-ink);
  font-family:
    var(--font-plex-sans),
    "IBM Plex Sans",
    system-ui,
    sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .estudio_voz_estudio {
    --lt-plano: #0E1113;
    --lt-painel: #171B1E;
    --lt-painel-fundo: rgba(251, 249, 244, .06);
    --lt-ink: #FBF9F4;
    --lt-ink-sec: #A8AFB3;
    --lt-ink-terc: #8A8F94;
    --lt-linha: rgba(251, 249, 244, .16);
    --lt-acento-texto: #5FBFA8;
    --lt-bolha-ia: #1E2429;
    --lt-bolha-ia-ink: #FBF9F4;
  }
}
:root[data-theme=dark] .estudio_voz_estudio {
  --lt-plano: #0E1113;
  --lt-painel: #171B1E;
  --lt-painel-fundo: rgba(251, 249, 244, .06);
  --lt-ink: #FBF9F4;
  --lt-ink-sec: #A8AFB3;
  --lt-ink-terc: #8A8F94;
  --lt-linha: rgba(251, 249, 244, .16);
  --lt-acento-texto: #5FBFA8;
  --lt-bolha-ia: #1E2429;
  --lt-bolha-ia-ink: #FBF9F4;
}
.estudio_voz_estudio[data-abertura] {
  grid-template-columns: 1fr;
  place-items: center;
  padding-bottom: clamp(48px, 8vh, 96px);
}
.estudio_voz_palcoAbertura {
  display: grid;
  justify-items: center;
  gap: clamp(28px, 4vh, 44px);
  text-align: center;
  max-width: 560px;
}
.estudio_voz_saudacao {
  display: grid;
  justify-items: center;
  gap: 12px;
  min-height: 148px;
}
.estudio_voz_saudacaoTitulo {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: clamp(26px, 3.4vw, 34px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.02em;
}
.estudio_voz_cursor {
  display: inline-block;
  width: 2px;
  height: 1em;
  background: var(--lt-vermelhao);
  animation: estudio_voz_piscar 1s steps(2, start) infinite;
}
.estudio_voz_saudacaoTexto {
  max-width: 34ch;
  margin: 0;
  color: var(--lt-ink-sec);
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 1.5;
  text-wrap: pretty;
  min-height: 3em;
}
.estudio_voz_barras {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 38px;
}
.estudio_voz_barras > span {
  width: 4px;
  border-radius: 2px;
  background: var(--lt-vermelhao);
  animation: estudio_voz_barra .72s ease-in-out infinite;
}
.estudio_voz_barras > span:nth-child(2n) {
  background: var(--lt-teal);
}
.estudio_voz_barras > span:nth-child(2) {
  animation-duration: .81s;
  animation-delay: .08s;
}
.estudio_voz_barras > span:nth-child(3) {
  animation-duration: .9s;
  animation-delay: .16s;
}
.estudio_voz_barras > span:nth-child(4) {
  animation-duration: .99s;
  animation-delay: .24s;
}
.estudio_voz_barras > span:nth-child(5) {
  animation-duration: 1.08s;
  animation-delay: .32s;
}
.estudio_voz_barras > span:nth-child(6) {
  animation-duration: 1.17s;
  animation-delay: .4s;
}
.estudio_voz_barras > span:nth-child(7) {
  animation-duration: 1.26s;
  animation-delay: .48s;
}
.estudio_voz_rotuloDeEstado {
  margin: 0;
  color: var(--lt-ink-terc);
  font-family:
    var(--font-receitas-mono),
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  font-size: 12px;
  letter-spacing: .12em;
}
.estudio_voz_palco {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 18px;
  text-align: center;
}
.estudio_voz_nome {
  display: flex;
  align-items: baseline;
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -.01em;
}
.estudio_voz_recado {
  max-width: 30ch;
  min-height: 3em;
  margin: 6px 0 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}
.estudio_voz_privacidade {
  max-width: 32ch;
  margin: 0;
  color: var(--lt-ink-sec);
  font-size: 12.5px;
  line-height: 1.5;
}
.estudio_voz_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@keyframes estudio_voz_barra {
  0%, to {
    height: 12px;
  }
  50% {
    height: 34px;
  }
}
@keyframes estudio_voz_piscar {
  0%, to {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@media (max-width: 1120px) {
  .estudio_voz_estudio {
    grid-template-columns: minmax(280px, 1fr) minmax(240px, .8fr);
    align-items: start;
  }
  .estudio_voz_palco {
    align-self: center;
  }
  .estudio_voz_estudio [data-transcricao] {
    grid-column: 1 / -1;
  }
}
@media (max-width: 860px) {
  .estudio_voz_estudio {
    width: min(100% - 32px, 1420px);
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .estudio_voz_palco {
    grid-row: 1;
    padding: 12px 0 4px;
  }
  .estudio_voz_estudio [data-transcricao] {
    grid-column: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .estudio_voz_cursor,
  .estudio_voz_barras > span {
    animation: none !important;
  }
  .estudio_voz_barras > span {
    height: 22px;
  }
}

/* modules/access/ui/config-do-microfone.module.css */
.config_do_microfone_botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 11px;
  background: transparent;
  color: var(--lt-ink);
  border: 1px solid var(--lt-linha);
  border-radius: 7px;
  box-shadow: none;
  cursor: pointer;
}
.config_do_microfone_botao:hover {
  background: var(--lt-painel-fundo);
  border-color: var(--lt-acento-texto);
}
.config_do_microfone_botao svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.config_do_microfone_botao:focus-visible,
.config_do_microfone_fechar:focus-visible {
  outline: 2px solid var(--lt-acento-texto);
  outline-offset: 3px;
}
.config_do_microfone_dialogo {
  width: min(640px, calc(100% - 32px));
  max-height: calc(100vh - 48px);
  padding: 24px;
  border: 1px solid var(--lt-linha);
  border-radius: 16px;
  background: var(--lt-painel);
  color: var(--lt-ink);
  box-shadow: none;
  text-align: left;
}
.config_do_microfone_dialogo::backdrop {
  background: #00000073;
}
.config_do_microfone_cabecalho {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.config_do_microfone_cabecalho h2 {
  font-size: 21px;
  margin: 0;
}
.config_do_microfone_fechar {
  width: 34px;
  height: 34px;
  padding: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--lt-linha);
  border-radius: 7px;
  background: transparent;
  color: inherit;
  box-shadow: none;
  cursor: pointer;
}
.config_do_microfone_fechar:hover {
  background: var(--lt-plano);
  border-color: var(--lt-acento-texto);
}

/* modules/training/settings/ui/configuracoes.module.css */
.configuracoes_configuracoes {
  --cfg-accent: #b54712;
  --cfg-ink: #101318;
  --cfg-muted: #4f5968;
  --cfg-line: #cfd5dd;
  --cfg-surface: #f4f6f8;
  --cfg-bad: #b91c1c;
  --cfg-ok: #1f7a4a;
  display: grid;
  gap: 26px;
  min-width: 0;
  color: var(--cfg-ink);
  font: 500 14px/1.5 var(--font-ui), sans-serif;
}
:root[data-theme=dark] .configuracoes_configuracoes {
  --cfg-ink: #eef2f7;
  --cfg-muted: #b5becb;
  --cfg-line: #303847;
  --cfg-surface: #10151d;
  --cfg-bad: #f87171;
  --cfg-ok: #4ade80;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .configuracoes_configuracoes {
    --cfg-ink: #eef2f7;
    --cfg-muted: #b5becb;
    --cfg-line: #303847;
    --cfg-surface: #10151d;
    --cfg-bad: #f87171;
    --cfg-ok: #4ade80;
  }
}
.configuracoes_titulo {
  margin: 0 0 6px;
  font: 800 18px/1.2 var(--font-jakarta), sans-serif;
  letter-spacing: -.02em;
}
.configuracoes_titulo small {
  color: var(--cfg-muted);
  font: 600 12px/1 var(--font-ui), sans-serif;
  letter-spacing: 0;
}
.configuracoes_lede {
  margin: 0 0 12px;
  color: var(--cfg-muted);
  font-size: 13px;
}
.configuracoes_lede code {
  font: 600 12px var(--font-mono-jb), monospace;
}
.configuracoes_aviso {
  margin: 0;
  padding: 10px 14px;
  border-left: 3px solid var(--cfg-accent);
  background: var(--cfg-surface);
  color: var(--cfg-ink);
}
.configuracoes_rotulo {
  margin: 0 0 6px;
  color: var(--cfg-muted);
  font: 700 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.configuracoes_selo {
  color: var(--cfg-accent);
  font: 700 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.configuracoes_texto {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.configuracoes_vagas,
.configuracoes_biblioteca {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.configuracoes_vagas {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
}
.configuracoes_vaga,
.configuracoes_biblioteca > li {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--cfg-line);
  border-radius: 10px;
  min-width: 0;
}
.configuracoes_vaga[data-ativa=sim] {
  border-color: var(--cfg-accent);
}
.configuracoes_vaga header,
.configuracoes_biblioteca header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 12px;
  align-items: baseline;
}
.configuracoes_biblioteca time {
  color: var(--cfg-muted);
  font: 600 11px var(--font-mono-jb), monospace;
}
.configuracoes_transcricoesCurtas {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}
.configuracoes_transcricoesCurtas span {
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--cfg-surface);
  color: var(--cfg-muted);
  font: 600 11px var(--font-mono-jb), monospace;
}
.configuracoes_acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.configuracoes_acoes button,
.configuracoes_nova,
.configuracoes_transcricoes button {
  border: 1px solid var(--cfg-line);
  border-radius: 999px;
  padding: 7px 14px;
  background: transparent;
  color: var(--cfg-ink);
  font: 700 12px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.configuracoes_acoes button:disabled {
  opacity: .45;
  cursor: default;
}
.configuracoes_acoes .configuracoes_primario {
  background: var(--cfg-ink);
  color: var(--portal-plano, #fff);
  border-color: var(--cfg-ink);
}
.configuracoes_nova {
  margin-top: 10px;
}
.configuracoes_editor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--cfg-line);
  border-radius: 12px;
  background: var(--cfg-surface);
  scroll-margin-top: 12px;
}
.configuracoes_campo {
  display: grid;
  gap: 4px;
}
.configuracoes_campo span {
  color: var(--cfg-muted);
  font: 700 11px var(--font-ui), sans-serif;
}
.configuracoes_campo small {
  justify-self: end;
  color: var(--cfg-muted);
  font: 600 11px var(--font-mono-jb), monospace;
}
.configuracoes_campo textarea,
.configuracoes_campo input {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid var(--cfg-line);
  border-radius: 8px;
  background: var(--portal-plano, #fff);
  color: var(--cfg-ink);
  font: 500 15px/1.5 var(--font-ui), sans-serif;
  resize: vertical;
}
.configuracoes_tokens {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
}
.configuracoes_token {
  border: 1px dashed transparent;
  border-radius: 4px;
  padding: 2px 5px;
  background: transparent;
  color: var(--cfg-ink);
  font: 500 15px/1.4 var(--font-ui), sans-serif;
  cursor: pointer;
}
.configuracoes_token:hover {
  border-color: var(--cfg-line);
}
.configuracoes_token[data-corrigida] {
  background: color-mix(in srgb, var(--cfg-accent) 22%, transparent);
}
.configuracoes_token[aria-pressed=true] {
  border-style: solid;
  border-color: var(--cfg-accent);
}
.configuracoes_palavra {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--cfg-accent);
  border-radius: 10px;
  background: var(--portal-plano, #fff);
}
.configuracoes_palavra p {
  margin: 0;
}
.configuracoes_palavra small {
  color: var(--cfg-muted);
}
.configuracoes_palavra dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 12px;
  margin: 0;
}
.configuracoes_palavra dt {
  color: var(--cfg-muted);
  font: 700 11px var(--font-mono-jb), monospace;
  text-transform: uppercase;
}
.configuracoes_palavra dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.configuracoes_palavra code,
.configuracoes_transcricoes code {
  font: 500 13px var(--font-mono-jb), monospace;
}
.configuracoes_transcricoes {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.configuracoes_transcricoes li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}
.configuracoes_transcricoes li[data-orfa] span {
  text-decoration: line-through;
  color: var(--cfg-muted);
}
.configuracoes_transcricoes em {
  color: var(--cfg-bad);
  font-size: 12px;
}
.configuracoes_transcricoes button {
  padding: 4px 10px;
  font-size: 11px;
}
.configuracoes_previa {
  padding: 10px 12px;
  border-left: 3px solid var(--cfg-accent);
  background: var(--portal-plano, #fff);
}
.configuracoes_previa p {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.configuracoes_pagina {
  height: calc(100dvh - var(--portal-header-height));
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 14px;
  padding: clamp(16px, 3vw, 40px) clamp(16px, 4vw, 58px);
  box-sizing: border-box;
  background: var(--portal-plano, #fff);
  color: #101318;
}
:root[data-theme=dark] .configuracoes_pagina {
  color: #eef2f7;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .configuracoes_pagina {
    color: #eef2f7;
  }
}
.configuracoes_intro h1 {
  margin: 0;
  font: 800 clamp(24px, 3vw, 42px)/1 var(--font-jakarta), sans-serif;
  letter-spacing: -.05em;
}
.configuracoes_kicker {
  margin: 0 0 7px;
  color: #b54712;
  font: 750 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.configuracoes_vistas {
  display: flex;
  gap: 6px;
}
.configuracoes_vistas button {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 7px 14px;
  background: transparent;
  color: inherit;
  font: 700 12px/1 var(--font-ui), sans-serif;
}
.configuracoes_vistas button[aria-pressed=true] {
  background: currentColor;
  border-color: currentColor;
}
.configuracoes_vistas button[aria-pressed=true] span {
  color: var(--portal-plano, #fff);
}
.configuracoes_corpo {
  min-height: 0;
  overflow: auto;
  padding-bottom: 24px;
}
.configuracoes_validacao {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--cfg-line);
}
.configuracoes_validacao[data-estado=conforme] {
  border-color: var(--cfg-ok);
}
.configuracoes_validacao[data-estado=nao_conforme] {
  border-color: var(--cfg-bad);
}
.configuracoes_validacao p {
  margin: 0;
}
.configuracoes_validacao code {
  font: 500 13px var(--font-mono-jb), monospace;
}
.configuracoes_violacoes {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
}

/* app/globals.css */
*,
*:before,
*:after {
  box-sizing: border-box;
}
.logo-iconsai {
  display: inline-flex;
  align-items: baseline;
  font-family:
    var(--font-logo),
    system-ui,
    sans-serif;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
}
.logo-iconsai .logo-i {
  font-family:
    var(--font-logo-i, "Libre Baskerville"),
    Georgia,
    serif;
  font-style: normal;
  font-size: 1.55em;
  color: #f97316;
  -webkit-text-fill-color: #f97316;
}
.logo-iconsai .logo-cons {
  font-weight: 800;
  color: #fff;
  -webkit-text-fill-color: #ffffff;
}
.logo-iconsai .logo-ai {
  font-weight: 800;
  color: #ef4444;
  -webkit-text-fill-color: #ef4444;
}
.rodape-marca {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 22px clamp(16px, 4vw, 46px) 40px;
  border-top: 1px solid rgba(127, 127, 127, .28);
  font:
    12.5px/1.5 system-ui,
    -apple-system,
    Segoe UI,
    sans-serif;
  color: #6b6a64;
}
:root[data-theme=dark] .rodape-marca {
  color: #a3a199;
}
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme=light])) .rodape-marca {
    color: #a3a199;
  }
}
.rodape-marca .logo-iconsai {
  font-size: 15px;
  background: #0b0b0b;
  padding: 7px 12px;
  border-radius: 8px;
}
:root {
  --landing-plano: #f9f9f7;
  --landing-ink: #0b0b0b;
  --landing-sec: #45443f;
  --landing-line: rgba(11, 11, 11, .14);
  --landing-azul: #0b64bd;
  --landing-laranja: #9d5a00;
  --landing-acao: #0b64bd;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --landing-plano: #0d0d0c;
    --landing-ink: #f2f1ec;
    --landing-sec: #a3a199;
    --landing-line: rgba(242, 241, 236, .16);
    --landing-azul: #5598e7;
    --landing-laranja: #eb9b33;
    --landing-acao: #5598e7;
  }
}
:root[data-theme=dark] {
  --landing-plano: #0d0d0c;
  --landing-ink: #f2f1ec;
  --landing-sec: #a3a199;
  --landing-line: rgba(242, 241, 236, .16);
  --landing-azul: #5598e7;
  --landing-laranja: #eb9b33;
  --landing-acao: #5598e7;
}
body {
  font-family:
    var(--font-inter),
    system-ui,
    sans-serif;
  margin: 0;
  background: var(--landing-plano);
  color: var(--landing-ink);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body > .rodape-marca {
  margin-top: auto;
}
body:has([data-cenarios]) {
  overflow: hidden;
}
body:has([data-cenarios]) > .rodape-marca {
  display: none;
}
body:has([data-customiza-workspace]) {
  height: 100dvh;
  overflow: hidden;
}
body:has([data-customiza-workspace]) > .rodape-marca {
  display: none;
}
body:has([data-tutorial-home]) > .rodape-marca {
  display: none;
}
.landing-topo {
  display: flex;
  align-items: center;
  padding: 24px clamp(22px, 5vw, 72px);
}
.landing {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 6vh, 52px);
  padding: clamp(32px, 8vh, 96px) clamp(16px, 5vw, 48px);
  text-align: center;
}
.landing-marcas {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: clamp(14px, 3vw, 26px);
  flex-wrap: wrap;
}
.landing-sep {
  width: 1px;
  align-self: stretch;
  min-height: 30px;
  background: var(--landing-line);
}
.landing-entrar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 30px;
  border: 1px solid var(--landing-acao);
  border-radius: 10px;
  font:
    600 15px/1 system-ui,
    -apple-system,
    Segoe UI,
    sans-serif;
  letter-spacing: .01em;
  color: var(--landing-acao);
  text-decoration: none;
  background: transparent;
  transition: background-color .12s ease, color .12s ease;
}
.landing-entrar:hover,
.landing-entrar:focus-visible {
  background: var(--landing-acao);
  color: var(--landing-plano);
}
.landing-entrar:focus-visible {
  outline: 2px solid var(--landing-acao);
  outline-offset: 3px;
}
:root {
  --access-bg: #05070d;
  --access-surface: rgba(12, 16, 24, .88);
  --access-input: #080b12;
  --access-panel: #0b0f17;
  --access-border: #1e293b;
  --access-field-border: #334155;
  --access-text: #eef2ff;
  --access-muted: #94a3b8;
  --access-dim: #7c8ba3;
  --access-danger: #ef4444;
  --access-context: #d2521e;
  --access-action: #c2410c;
  --font-display:
    var(--font-jakarta, "Plus Jakarta Sans"),
    system-ui,
    sans-serif;
  --font-ui:
    var(--font-inter, Inter),
    system-ui,
    sans-serif;
  --font-mono:
    var(--font-mono-jb, "JetBrains Mono"),
    ui-monospace,
    monospace;
  --font-logo:
    var(--font-jakarta, "Plus Jakarta Sans"),
    system-ui,
    sans-serif;
  --font-logo-i:
    var(--font-baskerville, "Libre Baskerville"),
    Georgia,
    serif;
}
.logo-iconsai {
  display: inline-flex;
  align-items: center;
  gap: .02em;
  font-family: var(--font-logo);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.02em;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
}
.logo-i {
  font-family: var(--font-logo-i);
  font-size: 1.55em;
  font-weight: 700;
  font-style: normal;
  color: #f97316;
  -webkit-text-fill-color: #f97316;
}
.logo-cons {
  font-weight: 800;
  color: #fff;
  -webkit-text-fill-color: #ffffff;
}
.logo-ai {
  font-weight: 800;
  color: #ef4444;
  -webkit-text-fill-color: #ef4444;
}
.access-page {
  font-family: var(--font-ui);
  color: var(--access-text);
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background:
    radial-gradient(
      circle at 18% 12%,
      color-mix(in srgb, var(--access-context) 14%, transparent),
      transparent 32rem),
    radial-gradient(
      circle at 82% 90%,
      color-mix(in srgb, var(--access-action) 9%, transparent),
      transparent 30rem),
    var(--access-bg);
}
@supports not (background: color-mix(in srgb, red 10%, transparent)) {
  .access-page {
    background:
      radial-gradient(
        circle at 18% 12%,
        rgba(8, 145, 178, .14),
        transparent 32rem),
      radial-gradient(
        circle at 82% 90%,
        rgba(234, 88, 12, .09),
        transparent 30rem),
      var(--access-bg);
  }
}
.access-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px clamp(22px, 5vw, 72px);
}
.access-brand {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.access-product {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--access-dim);
}
.access-back {
  font-size: 13px;
  color: var(--access-muted);
  text-decoration: none;
  cursor: pointer;
}
.access-back:hover {
  color: var(--access-context);
}
.access-main {
  width: min(1040px, calc(100% - 36px));
  margin: 0 auto;
  padding: 52px 0 76px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: clamp(36px, 7vw, 86px);
  align-items: center;
}
.access-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em;
  --access-context: #22d3ee;
  color: var(--access-context);
  margin: 0 0 18px;
}
.access-h1 {
  font-family: var(--font-display);
  font-size: clamp(40px, 4.2vw, 56px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.035em;
  margin: 0 0 22px;
  text-wrap: balance;
}
.access-h1 em {
  font-style: normal;
  color: var(--access-action);
}
@media (max-width: 1440px) {
  .access-h1 {
    font-size: clamp(30px, 3.2vw, 40px);
  }
}
.access-lede {
  font-size: 16px;
  line-height: 1.68;
  color: var(--access-muted);
  max-width: 48ch;
  margin: 0;
}
.access-card {
  background: var(--access-surface);
  border: 1px solid var(--access-border);
  border-radius: 20px;
  padding: clamp(24px, 4vw, 40px);
  backdrop-filter: blur(16px);
  box-shadow: 0 28px 70px #0000008c;
  max-width: 560px;
  width: 100%;
}
.access-card h2 {
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 700;
  margin: 0 0 8px;
  letter-spacing: -.01em;
}
.access-card-note {
  font-size: 14px;
  line-height: 1.6;
  color: var(--access-muted);
  margin: 0 0 24px;
}
.access-progress {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}
.access-progress-item {
  position: relative;
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--access-dim);
}
.access-progress-item:not(:last-child):after {
  content: "";
  position: absolute;
  top: 13px;
  left: calc(100% - 6px);
  width: 14px;
  height: 1px;
  background: var(--access-border);
}
.access-progress-item > span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--access-field-border);
  border-radius: 50%;
  background: var(--access-input);
  color: var(--access-dim);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  transition:
    border-color .16s ease,
    color .16s ease,
    background .16s ease;
}
.access-progress-item small {
  overflow: visible;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .1em;
  text-overflow: clip;
  text-transform: uppercase;
  white-space: nowrap;
}
.access-progress-item.is-complete > span {
  border-color: color-mix(in srgb, var(--access-context) 58%, transparent);
  background: color-mix(in srgb, var(--access-context) 10%, transparent);
  color: var(--access-context);
}
.access-progress-item.is-active {
  color: var(--access-text);
}
.access-progress-item.is-active > span {
  border-color: transparent;
  background: var(--access-context);
  color: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--access-context) 18%, transparent);
}
@media (max-width: 420px) {
  .access-progress {
    gap: 4px;
  }
  .access-progress-item {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 6px;
    text-align: center;
  }
  .access-progress-item:not(:last-child):after {
    left: calc(50% + 13px);
    width: calc(100% - 22px);
  }
  .access-progress-item small {
    max-width: 100%;
    font-size: 9px;
    letter-spacing: .04em;
  }
}
.access-timer {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 18px;
}
.access-timer-ring {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}
.idle-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2147483000;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 12px 16px;
  border: 1px solid var(--access-border);
  border-radius: 12px;
  background: var(--access-panel);
  color: var(--access-text);
  box-shadow: 0 12px 40px #0000004d;
}
.idle-toast-texto {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.idle-toast-mensagem {
  font-size: 13px;
  line-height: 1.45;
  color: var(--access-text);
}
.idle-toast-valor {
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--access-context);
}
@media (max-width: 480px) {
  .idle-toast {
    left: 16px;
    right: 16px;
    transform: translateY(-50%);
    max-width: none;
  }
}
.access-timer-ring svg {
  width: 44px;
  height: 44px;
  transform: rotate(-90deg);
}
.access-timer-ring circle {
  fill: none;
  stroke-width: 4;
}
.access-timer-ring-track {
  stroke: color-mix(in srgb, var(--access-context) 22%, var(--access-border));
}
.access-timer-ring-progress {
  stroke: var(--access-context);
  stroke-linecap: round;
  stroke-dasharray: 113;
  stroke-dashoffset: 18;
}
.access-timer.is-expired .access-timer-ring-track {
  stroke: color-mix(in srgb, var(--access-danger) 18%, var(--access-border));
}
.access-timer.is-expired .access-timer-ring-progress {
  stroke: var(--access-danger);
  stroke-dashoffset: 113;
}
.access-timer-label {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--access-dim);
}
.access-timer-value {
  font-family: var(--font-mono);
  font-size: 17px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  color: var(--access-context);
}
.access-timer.is-expired .access-timer-label,
.access-timer.is-expired .access-timer-value {
  color: var(--access-danger);
}
.access-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--access-muted);
  margin: 0 0 8px;
}
.access-input {
  width: 100%;
  height: 50px;
  padding: 0 14px;
  background: var(--access-input);
  border: 1px solid var(--access-field-border);
  border-radius: 10px;
  color: var(--access-text);
  font-family: var(--font-ui);
  font-size: 16px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.access-input:focus-visible {
  border-color: var(--access-context);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--access-context) 30%, transparent);
}
.access-input::placeholder {
  color: var(--access-dim);
}
.access-otp {
  height: 54px;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 26px;
  letter-spacing: .5em;
  text-indent: .5em;
}
.access-cta {
  width: 100%;
  height: 50px;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  background: var(--access-action);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: filter .15s, opacity .15s;
}
.access-cta:hover:not(:disabled) {
  filter: brightness(1.1);
}
.access-cta:disabled {
  opacity: .6;
  cursor: not-allowed;
}
.access-channels {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 4px;
}
.access-channel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 50px;
  padding: 0 18px 0 16px;
  background: var(--access-input);
  border: 1px solid var(--access-field-border);
  border-radius: 10px;
  color: var(--access-text);
  font-family: var(--font-ui);
  font-size: 15px;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s;
}
.access-channel:hover:not(:disabled) {
  border-color: var(--access-context);
}
.access-channel:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.access-channel-dest {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--access-muted);
}
.access-channel-action {
  color: var(--access-context);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.access-channel-separator {
  margin: 14px 0 10px;
  color: var(--access-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}
.access-rebind-note {
  margin: 0 0 8px;
  color: var(--access-muted);
  font-size: 13px;
  line-height: 1.35;
}
.access-link {
  display: inline-block;
  margin-top: 18px;
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--access-dim);
  cursor: pointer;
}
.access-link:hover {
  color: var(--access-context);
}
.access-error {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--access-danger);
}
.access-status {
  margin: 14px 0 0;
  font-size: 13px;
  color: var(--access-muted);
}
.access-dev {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px dashed var(--access-field-border);
  border-radius: 8px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--access-muted);
}
.access-footer {
  padding: 0 0 28px;
  text-align: center;
  font-size: 11px;
  color: var(--access-dim);
}
@media (max-width: 760px) {
  .access-main {
    grid-template-columns: 1fr;
    padding: 28px 0 56px;
    width: calc(100% - 36px);
  }
  .access-card {
    max-width: none;
  }
}
.painel-nav > .logo-iconsai {
  text-transform: none;
}
@keyframes session-countdown-pulse {
  50% {
    opacity: .58;
  }
}
.access-header,
.portal-topo {
  display: flex;
  align-items: center;
  gap: clamp(10px, 2vw, 18px);
  flex-wrap: wrap;
}
.portal-topo {
  flex: 0 0 auto;
  min-height: var(--portal-header-height);
  box-sizing: border-box;
  padding: 16px clamp(16px, 4vw, 40px);
  background: var(--access-panel);
  border-bottom: 1px solid var(--access-border);
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
}
.portal-sep {
  width: 1px;
  align-self: stretch;
  min-height: 22px;
  background: var(--landing-line);
}
.portal-dentro {
  --portal-header-height: 74px;
  min-height: 100vh;
  padding-top: var(--portal-header-height);
}
.portal-dentro:has(> [data-cenarios]) {
  display: flex;
  height: 100dvh;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  padding-top: 0;
}
.portal-dentro:has(> [data-cenarios]) > [data-cenarios] {
  margin-top: 0;
}
.portal-dentro[data-portal-area]:is([data-portal-area=campanha], [data-portal-area=mercado], [data-portal-area=alimentos], [data-portal-area=customiza], [data-portal-area=redes], [data-portal-area=treinamento]) {
  --portal-plano: #ffffff;
  --background: var(--portal-plano);
  background: var(--portal-plano);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .portal-dentro[data-portal-area]:is([data-portal-area=campanha], [data-portal-area=mercado], [data-portal-area=alimentos], [data-portal-area=customiza], [data-portal-area=redes], [data-portal-area=treinamento]) {
    --portal-plano: #000000;
  }
}
:root[data-theme=dark] .portal-dentro[data-portal-area]:is([data-portal-area=campanha], [data-portal-area=mercado], [data-portal-area=alimentos], [data-portal-area=customiza], [data-portal-area=redes], [data-portal-area=treinamento]) {
  --portal-plano: #000000;
}
.portal-dentro:is([data-portal-area=ei-humano], [data-portal-area=ei-humano-iniciar]) {
  --portal-plano: #EDEAE3;
  --background: var(--portal-plano);
  background: var(--portal-plano);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .portal-dentro:is([data-portal-area=ei-humano], [data-portal-area=ei-humano-iniciar]) {
    --portal-plano: #0E1113;
  }
}
:root[data-theme=dark] .portal-dentro:is([data-portal-area=ei-humano], [data-portal-area=ei-humano-iniciar]) {
  --portal-plano: #0E1113;
}
.portal-preview-label {
  margin: 0 0 0 auto;
  color: #b5bed1;
  font: 600 11px/1 var(--font-mono-jb), monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.portal-conteudo {
  max-width: 62ch;
  margin: 0 auto;
  padding: clamp(28px, 6vh, 64px) clamp(16px, 5vw, 40px);
  font:
    15px/1.65 system-ui,
    -apple-system,
    Segoe UI,
    sans-serif;
  color: var(--landing-ink);
}
.portal-conteudo h2 {
  font-size: 22px;
  margin: 0 0 12px;
}
.portal-conteudo code {
  font:
    13px/1 SFMono-Regular,
    Consolas,
    Menlo,
    monospace;
  background: var(--landing-line);
  border-radius: 4px;
  padding: 2px 5px;
}
.access-header .portal-sep,
.portal-topo .portal-sep {
  background: var(--access-border);
}
.access-progress-item.is-active > span {
  color: #05070d;
}
.portal-marcas {
  display: flex;
  align-items: baseline;
  gap: clamp(10px, 2vw, 18px);
}
.portal-primary-nav {
  display: grid;
  flex: 1 1 500px;
  min-width: 0;
  max-width: 724px;
  grid-template-columns: repeat(6, minmax(52px, 1fr));
  align-self: stretch;
  margin: -10px auto;
}
.portal-primary-nav[data-portal-navigation-variant=home] {
  width: min(100%, 312px);
  max-width: 100%;
  flex: 0 1 312px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-self: start;
  margin-inline: 0;
}
.portal-primary-item {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
  border-inline: 1px solid transparent;
  color: #9ca3af;
  font:
    600 10px/1.1 var(--font-ui),
    system-ui,
    sans-serif;
  text-decoration: none;
  cursor: pointer;
  transition:
    color .16s ease,
    background-color .16s ease,
    border-color .16s ease;
}
.portal-primary-item:after {
  position: absolute;
  right: 14%;
  bottom: 0;
  left: 14%;
  height: 2px;
  background: transparent;
  content: "";
}
.portal-primary-item svg {
  width: 28px;
  height: 28px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.portal-primary-item .portal-icon-accent {
  stroke: currentColor;
}
@keyframes portal-icon-pulse {
  50% {
    opacity: .38;
    transform: scale(.86);
  }
}
@keyframes portal-icon-scan {
  50% {
    opacity: .35;
  }
}
@keyframes portal-icon-orbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes portal-icon-rise {
  50% {
    transform: translateY(-2px);
  }
}
.portal-primary-item svg[data-portal-icon=origin] {
  animation: portal-icon-orbit 22s linear infinite;
}
.portal-primary-item svg[data-portal-icon=tutorial] {
  animation: portal-icon-rise 2.8s ease-in-out infinite;
}
.portal-primary-item svg[data-portal-icon=training] {
  animation: portal-icon-rise 2.8s ease-in-out infinite;
}
.portal-primary-item svg[data-portal-icon=campaign] {
  animation: portal-icon-rise 2.1s ease-in-out infinite;
}
.portal-primary-item svg[data-portal-icon=market] {
  animation: portal-icon-scan 3.4s ease-in-out infinite;
}
.portal-primary-item svg[data-portal-icon=food] {
  animation: portal-icon-orbit 6.4s linear infinite;
}
.portal-primary-item svg[data-portal-icon=custom] {
  animation: portal-icon-pulse 3.6s cubic-bezier(.4, 0, .5, 1) infinite;
}
.portal-primary-item svg[data-portal-icon=networks] .portal-icon-accent {
  stroke-dasharray: 60;
  animation: portal-icon-draw 3.8s ease-in-out infinite;
}
@keyframes portal-icon-draw {
  0% {
    stroke-dashoffset: 60;
  }
  70%, to {
    stroke-dashoffset: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .portal-primary-item svg,
  .portal-primary-item svg .portal-icon-accent {
    animation: none !important;
  }
}
.portal-primary-item:hover,
.portal-primary-item:focus-visible {
  background: #0c1018;
  color: #e2e8f0;
  outline: none;
}
.portal-primary-item:focus-visible {
  box-shadow: inset 0 0 0 2px #22d3ee;
}
.portal-primary-item[aria-current=page] {
  border-color: #1f2937;
  background: #0c1018;
  color: #67e8f9;
}
.portal-primary-item[aria-current=page]:after {
  background: #22d3ee;
}
.portal-subnav {
  position: sticky;
  z-index: 90;
  top: var(--portal-header-height);
  display: flex;
  min-width: 0;
  justify-content: center;
  align-items: center;
  min-height: 76px;
  padding: 9px clamp(16px, 4vw, 40px);
  border-bottom: 1px solid #263244;
  background: color-mix(in srgb, var(--access-panel) 96%, transparent);
  backdrop-filter: blur(18px) saturate(130%);
}
.portal-empty-section {
  min-height: calc(100vh - 81px);
  background: var(--portal-plano, #05070d);
}
@media (max-width: 1120px) {
  .portal-primary-nav {
    order: 3;
    width: 100%;
    max-width: none;
    flex-basis: 100%;
    min-height: 54px;
    margin: 0;
  }
}
@media (max-width: 560px) {
  .portal-primary-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .portal-primary-nav[data-portal-navigation-variant=home] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .portal-primary-item {
    font-size: 8px;
  }
  .portal-primary-item svg {
    width: 23px;
    height: 23px;
  }
  .portal-subnav {
    justify-content: flex-start;
    overflow-x: auto;
    padding-inline: 8px;
  }
}
.access-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.access-assinatura {
  font-size: 13px;
  background: #0b0b0b;
  padding: 5px 9px;
  border-radius: 6px;
}
.access-aviso {
  color: var(--access-danger);
  margin-top: 10px;
}
.session-manager {
  --session-height:34px;
  --session-gap:12px;
  --session-radius:8px;
  --session-identity-width:170px;
  --session-mode-width:104px;
  --session-mode-item:28px;
  --session-time-width:198px;
  --session-time-value-width:84px;
  --session-ring-size:28px;
  --session-hours-width:42px;
  --session-hours-height:26px;
  --session-switch-width:20px;
  --session-switch-height:11px;
  --session-thumb-size:8px;
  --session-action-size:34px;
  --session-reload-width:37px;
  --session-logout-width:37px;
  --session-icon:15px;
  display: inline-flex;
  height: var(--session-height);
  min-width: 0;
  align-items: center;
  gap: var(--session-gap);
  margin-inline-start: auto;
  margin-left: auto;
  justify-content: flex-end;
  color: var(--session-muted);
  white-space: nowrap;
}
.session-identity {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  width: var(--session-identity-width);
  max-width: var(--session-identity-width);
  flex: 0 0 var(--session-identity-width);
  color: var(--session-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.15;
  text-align: right;
  white-space: normal;
}
.session-identity-line {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.session-mode-slot {
  display: inline-flex;
  width: var(--session-mode-width);
  height: var(--session-height);
  flex: 0 0 var(--session-mode-width);
  align-items: center;
}
.session-mode {
  display: inline-flex;
  width: var(--session-mode-width);
  height: var(--session-height);
  flex: 0 0 var(--session-mode-width);
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0 5px;
  border: 1px solid var(--session-border);
  border-radius: var(--session-radius);
  background: transparent;
}
.session-mode-opcao {
  display: inline-flex;
  width: var(--session-mode-item);
  height: var(--session-mode-item);
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  cursor: pointer;
}
.session-mode-opcao input {
  position: absolute;
  width: 1px;
  height: 1px;
  border: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.session-mode-opcao svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--session-muted);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}
.session-mode-opcao:hover {
  background: var(--session-hover);
}
.session-mode-opcao:has(input:checked) {
  background: var(--session-hover);
}
.session-mode-opcao:has(input:checked) svg {
  stroke: var(--session-fg);
}
.session-mode-opcao:has(input:focus-visible) {
  outline: 2px solid var(--session-accent);
  outline-offset: 1px;
}
.session-time {
  display: inline-flex;
  width: var(--session-time-width);
  height: var(--session-height);
  flex: 0 0 var(--session-time-width);
  align-items: center;
  gap: 8px;
}
.session-ring {
  display: inline-flex;
  width: var(--session-ring-size);
  height: var(--session-ring-size);
  flex: 0 0 var(--session-ring-size);
  align-items: center;
  justify-content: center;
}
.session-ring svg {
  display: block;
  width: var(--session-ring-size);
  height: var(--session-ring-size);
  transform: rotate(-90deg);
}
.session-ring-track,
.session-ring-value {
  fill: none;
  stroke-width: 2.5;
}
.session-ring-track {
  stroke: var(--session-border);
}
.session-ring-value {
  stroke: var(--session-accent);
  stroke-dasharray: 1;
  stroke-linecap: round;
}
.session-countdown {
  width: var(--session-time-value-width);
  flex: 0 0 var(--session-time-value-width);
  color: var(--session-countdown);
  font: 650 17px/1 var(--font-mono,"JetBrains Mono",ui-monospace,monospace);
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
  text-align: left;
}
.session-hours {
  display: inline-flex;
  width: var(--session-hours-width);
  flex: 0 0 var(--session-hours-width);
  align-items: center;
}
.session-hours input {
  box-sizing: border-box;
  width: var(--session-hours-width);
  height: var(--session-hours-height);
  padding: 0 5px;
  border: 1px solid var(--session-border);
  border-radius: 7px;
  outline: none;
  background: var(--session-surface);
  color: var(--session-fg);
  font: 600 12px/1 var(--font-mono,"JetBrains Mono",ui-monospace,monospace);
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.session-toggle {
  display: inline-flex;
  width: var(--session-switch-width);
  height: var(--session-height);
  flex: 0 0 var(--session-switch-width);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.session-track {
  position: relative;
  display: block;
  width: var(--session-switch-width);
  height: var(--session-switch-height);
  border-radius: 999px;
  background: var(--session-border);
}
.session-thumb {
  position: absolute;
  top: 1px;
  left: 1px;
  width: var(--session-thumb-size);
  height: var(--session-thumb-size);
  border-radius: 50%;
  background: var(--session-surface);
}
.session-toggle[aria-checked=true] .session-track {
  background: var(--session-accent);
}
.session-toggle[aria-checked=true] .session-thumb {
  left: 11px;
}
.session-reload,
.session-logout {
  display: inline-flex;
  height: var(--session-action-size);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--session-border);
  border-radius: var(--session-radius);
  background: transparent;
  color: var(--session-muted);
  cursor: pointer;
}
.session-reload {
  width: var(--session-reload-width);
  flex: 0 0 var(--session-reload-width);
}
.session-logout {
  width: var(--session-logout-width);
  flex: 0 0 var(--session-logout-width);
}
.session-reload:hover,
.session-logout:hover {
  background: var(--session-hover);
  color: var(--session-fg);
}
.session-reload svg,
.session-logout svg {
  width: var(--session-icon);
  height: var(--session-icon);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}
.session-reload:focus-visible,
.session-logout:focus-visible,
.session-toggle:focus-visible,
.session-hours input:focus-visible {
  outline: 2px solid var(--session-accent);
  outline-offset: 1px;
}
@media (max-width:980px) {
  .session-manager {
    --session-identity-width:96px;
  }
}
@media (max-width:680px) {
  .session-manager {
    height: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
  }
  .session-identity {
    width: 100%;
    max-width: 100%;
    flex: 1 0 100%;
  }
}
.portal-topo > .session-manager {
  background: transparent;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme=dark]) {
    --access-bg: #f4f1ea;
    --access-surface: rgba(255, 255, 255, .92);
    --access-input: #ffffff;
    --access-panel: #fbf9f4;
    --access-border: #d6d1c6;
    --access-field-border: #8f897d;
    --access-text: #14171a;
    --access-muted: #4a4d52;
    --access-dim: #5c5f64;
    --access-danger: #b91c1c;
    --access-context: #a8401a;
  }
  :root:not([data-theme=dark]) .access-kicker {
    --access-context: #094c5b;
  }
  :root:not([data-theme=dark]) .access-page[data-access-flow] .access-h {
    --access-muted: #4a4d52;
  }
  :root:not([data-theme=dark]) .portal-preview-label {
    color: #4a4d52;
  }
}
:root[data-theme=light] {
  --access-bg: #f4f1ea;
  --access-surface: rgba(255, 255, 255, .92);
  --access-input: #ffffff;
  --access-panel: #fbf9f4;
  --access-border: #d6d1c6;
  --access-field-border: #8f897d;
  --access-text: #14171a;
  --access-muted: #4a4d52;
  --access-dim: #5c5f64;
  --access-danger: #b91c1c;
  --access-context: #a8401a;
}
:root[data-theme=light] .access-kicker {
  --access-context: #094c5b;
}
:root[data-theme=light] .access-page[data-access-flow] .access-h {
  --access-muted: #4a4d52;
}
:root[data-theme=light] .portal-preview-label {
  color: #4a4d52;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme=dark]) .portal-primary-item:hover,
  :root:not([data-theme=dark]) .portal-primary-item:focus-visible {
    background: #ede9e0;
    color: #14171a;
  }
  :root:not([data-theme=dark]) .portal-primary-item:focus-visible {
    box-shadow: inset 0 0 0 2px #0e7490;
  }
  :root:not([data-theme=dark]) .portal-primary-item[aria-current=page] {
    border-color: #d6d1c6;
    background: #ede9e0;
    color: #0c6478;
  }
  :root:not([data-theme=dark]) .portal-primary-item[aria-current=page]:after {
    background: #0e7490;
  }
  :root:not([data-theme=dark]) .portal-subnav {
    border-bottom-color: #d6d1c6;
  }
}
:root[data-theme=light] .portal-primary-item:hover,
:root[data-theme=light] .portal-primary-item:focus-visible {
  background: #ede9e0;
  color: #14171a;
}
:root[data-theme=light] .portal-primary-item:focus-visible {
  box-shadow: inset 0 0 0 2px #0e7490;
}
:root[data-theme=light] .portal-primary-item[aria-current=page] {
  border-color: #d6d1c6;
  background: #ede9e0;
  color: #0c6478;
}
:root[data-theme=light] .portal-primary-item[aria-current=page]:after {
  background: #0e7490;
}
:root[data-theme=light] .portal-subnav {
  border-bottom-color: #d6d1c6;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme=dark]) .admin-graph-art [data-network-node] {
    fill: #5c5f64;
  }
  :root:not([data-theme=dark]) .admin-graph-art [data-network-mesh] {
    stroke: #8f897d;
  }
}
:root[data-theme=light] .admin-graph-art [data-network-node] {
  fill: #5c5f64;
}
:root[data-theme=light] .admin-graph-art [data-network-mesh] {
  stroke: #8f897d;
}
.marca-iconsai {
  display: inline-flex;
  align-items: center;
  gap: .02em;
  font-size: calc(var(--marca-altura) * .62);
  line-height: 1;
  text-decoration: none;
  background: transparent;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme=dark]) .marca-iconsai .logo-cons {
    color: #1f2937;
    -webkit-text-fill-color: #1f2937;
  }
}
:root[data-theme=light] .marca-iconsai .logo-cons {
  color: #1f2937;
  -webkit-text-fill-color: #1f2937;
}
.marca-iconsai:focus-visible {
  outline: 2px solid #f97316;
  outline-offset: 4px;
}
.access-page[data-access-flow=admin],
.access-page[data-access-flow=superadmin] {
  position: relative;
  isolation: isolate;
  overflow: clip;
}
.access-page:has(> .admin-graph) > .access-header,
.access-page:has(> .admin-graph) > .access-main,
.access-page:has(> .admin-graph) > .access-footer {
  position: relative;
  z-index: 1;
}
.access-page[data-access-flow=admin] .access-h,
.access-page[data-access-flow=superadmin] .access-h {
  position: relative;
  isolation: isolate;
  --access-muted: #b5bed1;
}
.access-page[data-access-flow=admin] .access-h > p,
.access-page[data-access-flow=admin] .access-h > h1,
.access-page[data-access-flow=superadmin] .access-h > p,
.access-page[data-access-flow=superadmin] .access-h > h1 {
  position: relative;
  z-index: 1;
}
.admin-graph {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: clip;
  mask-image:
    linear-gradient(
      180deg,
      transparent,
      #000 18%,
      #000 82%,
      transparent);
}
.admin-graph-art {
  position: absolute;
  top: 50%;
  left: 60%;
  width: max(130%, 113vh);
  aspect-ratio: 700 / 620;
  transform: translate(-50%, -50%);
  opacity: .24;
  mask-image:
    linear-gradient(
      90deg,
      transparent,
      #000 18%,
      #000 100%);
}
.admin-graph-art > svg {
  display: block;
  width: 100%;
  height: 100%;
}
.portal-dentro {
  position: relative;
  isolation: isolate;
  overflow: clip;
}
.portal-dentro > .admin-graph {
  z-index: 0;
}
.portal-dentro > .portal-topo,
.portal-dentro > .users-workspace {
  position: relative;
  z-index: 1;
}
.portal-dentro > .portal-topo {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
}
.portal-dentro > .users-workspace {
  background: color-mix(in srgb, var(--background) 88%, transparent);
}
@media (max-width: 1320px) {
  .portal-dentro {
    --portal-header-height: 122px;
  }
}
@media (max-width: 1140px) {
  .portal-dentro {
    --portal-header-height: 143px;
  }
}
@media (max-width: 820px) {
  .portal-dentro {
    --portal-header-height: 190px;
  }
}
@media (max-width: 520px) {
  .portal-dentro {
    --portal-header-height: 245px;
  }
}
@media (max-width: 760px) {
  .admin-graph {
    mask-image:
      linear-gradient(
        180deg,
        transparent,
        #000 12%,
        #000 68%,
        transparent);
  }
  .admin-graph-art {
    left: 50%;
    width: max(165%, 85vh);
  }
}
@media (max-width: 1399px) {
  .portal-dentro {
    --portal-header-height: 136px;
  }
  .portal-topo {
    display: grid;
    height: var(--portal-header-height);
    grid-template-areas: "brands session" "nav nav";
    grid-template-columns: auto 1fr;
    grid-template-rows: 34px 54px;
    gap: 10px 16px;
  }
  .portal-marcas {
    grid-area: brands;
  }
  .portal-primary-nav {
    grid-area: nav;
    width: 100%;
    max-width: none;
    min-height: 54px;
    margin: 0;
  }
  .session-manager {
    grid-area: session;
    margin: 0;
    justify-self: end;
  }
}
@media (max-width: 900px) {
  .portal-dentro {
    --portal-header-height: 180px;
  }
  .portal-topo {
    grid-template-areas: "brands" "session" "nav";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 33px 34px 54px;
  }
}
@media (max-width: 680px) {
  .portal-dentro {
    --portal-header-height: 203px;
  }
  .portal-topo {
    grid-template-rows: 33px 57px 54px;
  }
}
.porta-topo-direita {
  display: flex;
  align-items: center;
  gap: 16px;
}
.porta-topo-direita .access-product {
  margin: 0;
}
.porta-tema {
  display: inline-flex;
  width: 104px;
  height: 34px;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0 5px;
  min-inline-size: 0;
  border: 1px solid var(--access-field-border);
  border-radius: 8px;
  background: transparent;
}
.porta-tema-opcao {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
}
.porta-tema-opcao svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--access-muted);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}
.porta-tema-opcao:hover,
.porta-tema-opcao[aria-pressed=true] {
  background: color-mix(in srgb, var(--access-text) 10%, transparent);
}
.porta-tema-opcao[aria-pressed=true] svg {
  stroke: var(--access-text);
}
.porta-tema-opcao:focus-visible {
  outline: 2px solid var(--access-context);
  outline-offset: 1px;
}
@media (max-width: 560px) {
  .porta-topo-direita .access-product {
    display: none;
  }
}
.access-header > .portal-primary-nav[data-portal-navigation-variant=porta-tutoriais] {
  order: 0;
  width: 208px;
  max-width: 208px;
  flex: 0 0 208px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: center;
  height: 72px;
  min-height: 0;
  margin: 0 0 0 clamp(12px, 2vw, 24px);
}
.access-header > .portal-primary-nav[data-portal-navigation-variant=porta-tutoriais] .portal-primary-item {
  padding: 6px 4px;
  text-align: center;
}
.access-header > .portal-primary-nav[data-portal-navigation-variant=porta-tutoriais] .tutorial-atalho-rotulo {
  display: flex;
  flex-direction: column;
  align-items: center;
  white-space: nowrap;
}
.access-header > .porta-topo-direita {
  margin-inline-start: auto;
}
a.access-brand {
  text-decoration: none;
}
.tutorial-porta {
  --portal-header-height: 90px;
  --portal-plano: #ffffff;
  display: grid;
  grid-template-rows: var(--portal-header-height) minmax(0, 1fr);
  min-height: 100dvh;
}
.tutorial-porta > .access-header {
  box-sizing: border-box;
  height: var(--portal-header-height);
  padding-block: 0;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .tutorial-porta {
    --portal-plano: #000000;
  }
}
:root[data-theme=dark] .tutorial-porta {
  --portal-plano: #000000;
}
.session-loading-overlay {
  --access-panel: #0b0f17;
  --access-border: #1e293b;
  --access-text: #eef2ff;
  --access-muted: #94a3b8;
  --access-context: #0e7490;
  --session-loading-veil: rgba(2, 6, 12, .82);
}
:root[data-theme=light] .session-loading-overlay {
  --access-panel: #fbf9f4;
  --access-border: #d6d1c6;
  --access-text: #14171a;
  --access-muted: #4a4d52;
  --session-loading-veil: rgba(244, 241, 234, .88);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme=dark]) .session-loading-overlay {
    --access-panel: #fbf9f4;
    --access-border: #d6d1c6;
    --access-text: #14171a;
    --access-muted: #4a4d52;
    --session-loading-veil: rgba(244, 241, 234, .88);
  }
}
body:has([data-hard-reload-loading]) {
  overflow: hidden;
}
.session-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483001;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 20px;
  box-sizing: border-box;
  background: var(--session-loading-veil);
  backdrop-filter: blur(18px) saturate(115%);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
}
.session-loading-caixa {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: min(90vw, 300px);
  max-width: 420px;
  max-height: calc(100dvh - 40px);
  overflow: hidden;
  padding: 26px 28px 22px;
  border: 1px solid var(--access-border);
  border-radius: 14px;
  background: var(--access-panel);
  text-align: center;
  box-shadow: 0 18px 60px #00000059;
}
.session-loading-spinner {
  width: 34px;
  height: 34px;
  margin-bottom: 4px;
  border-radius: 50%;
  border: 3px solid var(--access-border);
  border-top-color: var(--access-context);
  animation: session-loading-spin .8s linear infinite;
}
.session-loading-titulo {
  margin: 0;
  color: var(--access-text);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}
.session-loading-detalhe {
  margin: 0;
  color: var(--access-muted);
  font-size: 13px;
  line-height: 1.5;
}
@keyframes session-loading-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .session-loading-spinner {
    animation-duration: 2.4s;
  }
}
.accident-overlay {
  --border: #1e293b;
  --surface-elevated: #0b0f17;
  --foreground: #eef2ff;
  --foreground-muted: #94a3b8;
  --focus: #67e8f9;
  --secondary: #1e293b;
  --secondary-foreground: #eef2ff;
  --error: #b42318;
  --error-foreground: #ffffff;
}
:root[data-theme=light] .accident-overlay {
  --border: #d6d1c6;
  --surface-elevated: #fbf9f4;
  --foreground: #14171a;
  --foreground-muted: #4a4d52;
  --focus: #0e7490;
  --secondary: #ece8df;
  --secondary-foreground: #14171a;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme=dark]) .accident-overlay {
    --border: #d6d1c6;
    --surface-elevated: #fbf9f4;
    --foreground: #14171a;
    --foreground-muted: #4a4d52;
    --focus: #0e7490;
    --secondary: #ece8df;
    --secondary-foreground: #14171a;
  }
}
.accident-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #02060cb8;
  pointer-events: auto;
}
.accident-overlay[data-accident-overlay=notice] {
  background: transparent;
  pointer-events: none;
}
.accident-dialog {
  width: min(100%, 440px);
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface-elevated);
  color: var(--foreground);
  padding: 24px;
  box-shadow: 0 24px 80px #00000073;
  pointer-events: auto;
}
.accident-dialog h2 {
  margin: 0 0 8px;
  font-size: 20px;
}
.accident-dialog p {
  margin: 0;
  color: var(--foreground-muted);
}
.accident-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
}
.accident-actions button {
  min-width: 96px;
  min-height: 44px;
  border-radius: 10px;
  cursor: pointer;
}
.accident-actions button:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
[data-accident-action=stay] {
  border: 1px solid var(--border);
  background: var(--secondary);
  color: var(--secondary-foreground);
}
[data-accident-action=leave] {
  border: 1px solid var(--error);
  background: var(--error);
  color: var(--error-foreground);
}
@media (max-width:520px) {
  .accident-overlay {
    padding: 16px;
  }
  .accident-dialog {
    padding: 20px;
  }
  .accident-actions {
    flex-direction: column;
  }
  .accident-actions button {
    width: 100%;
  }
}
.retomada-antes-da-pintura {
  display: none;
}
:root[data-sessao-retomando] .retomada-antes-da-pintura {
  display: contents;
  visibility: visible;
}
:root[data-sessao-retomando] .access-page {
  visibility: hidden;
}
.portal-ver-como-usuario {
  flex: 0 0 auto;
  align-self: center;
  width: 84px;
  min-height: 52px;
  margin: 0;
  padding: 4px 0;
  border-block: 0;
  background: transparent;
  white-space: nowrap;
}
.portal-ver-como-usuario[aria-pressed=true] {
  border-color: #1f2937;
  background: #0c1018;
  color: #67e8f9;
}
.portal-ver-como-usuario[aria-pressed=true]:after {
  background: #22d3ee;
}
:root[data-theme=light] .portal-ver-como-usuario[aria-pressed=true] {
  border-color: #d6d1c6;
  background: #ede9e0;
  color: #0c6478;
}
:root[data-theme=light] .portal-ver-como-usuario[aria-pressed=true]:after {
  background: #0e7490;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme=dark]) .portal-ver-como-usuario[aria-pressed=true] {
    border-color: #d6d1c6;
    background: #ede9e0;
    color: #0c6478;
  }
  :root:not([data-theme=dark]) .portal-ver-como-usuario[aria-pressed=true]:after {
    background: #0e7490;
  }
}
@media (max-width: 560px) {
  .portal-ver-como-usuario {
    width: 64px;
    min-height: 44px;
  }
}
:root {
  --session-accent:#22d3ee;
  --session-fg:#e2e8f0;
  --session-muted:#9ca3af;
  --session-surface:#0c1018;
  --session-border:#526278;
  --session-countdown:#67e8f9;
  --session-danger:#7f1d1d;
  --session-danger-fg:#ffffff;
  --session-hover:#111827;
}
:root[data-theme=light] {
  --session-accent:#0e7490;
  --session-fg:#0f172a;
  --session-muted:#475569;
  --session-surface:#ffffff;
  --session-border:#7c8ba3;
  --session-countdown:#0e7490;
  --session-danger:#b91c1c;
  --session-danger-fg:#ffffff;
  --session-hover:#e2e8f0;
}
@media (prefers-color-scheme:light) {
  :root:not([data-theme=dark]) {
    --session-accent:#0e7490;
    --session-fg:#0f172a;
    --session-muted:#475569;
    --session-surface:#ffffff;
    --session-border:#7c8ba3;
    --session-countdown:#0e7490;
    --session-danger:#b91c1c;
    --session-danger-fg:#ffffff;
    --session-hover:#e2e8f0;
  }
}
