/* modules/dmg/ui/treinamento.module.css */
.treinamento_page {
  --treino-accent: #b54712;
  --treino-ink: #101318;
  --treino-muted: #4f5968;
  --treino-line: #cfd5dd;
  --treino-surface: #f4f6f8;
  --treino-ok: #15803d;
  --treino-mid: #a16207;
  --treino-bad: #b91c1c;
  height: calc(100dvh - var(--portal-header-height));
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 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: var(--treino-ink);
}
.treinamento_intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 560px);
  gap: 28px;
  align-items: end;
  min-width: 0;
}
.treinamento_kicker {
  margin: 0 0 7px;
  color: var(--treino-accent);
  font: 750 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.treinamento_intro h1 {
  margin: 0;
  font: 800 clamp(24px, 3vw, 42px)/1 var(--font-jakarta), sans-serif;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.treinamento_lede {
  margin: 0;
  color: var(--treino-muted);
  font: 500 13px/1.5 var(--font-ui), sans-serif;
}
.treinamento_resumo {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--treino-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--treino-line);
}
.treinamento_resumo > div {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  background: var(--portal-plano, #fff);
  min-width: 0;
}
.treinamento_resumo strong {
  font: 800 20px/1 var(--font-jakarta), sans-serif;
}
.treinamento_resumo span {
  color: var(--treino-muted);
  font: 600 10px/1.2 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
  overflow-wrap: anywhere;
}
.treinamento_resumo [data-veredito=conectou] strong {
  color: var(--treino-ok);
}
.treinamento_resumo [data-veredito=parcial] strong {
  color: var(--treino-mid);
}
.treinamento_resumo [data-veredito=falhou] strong {
  color: var(--treino-bad);
}
.treinamento_vistas {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.treinamento_vistas button,
.treinamento_goldAcoes button {
  border: 1px solid var(--treino-line);
  border-radius: 999px;
  padding: 7px 14px;
  background: transparent;
  color: var(--treino-ink);
  font: 700 12px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.treinamento_vistas button[aria-pressed=true] {
  background: var(--treino-ink);
  color: var(--portal-plano, #fff);
  border-color: var(--treino-ink);
}
.treinamento_corpo {
  min-height: 0;
  overflow: auto;
  padding-bottom: 24px;
}
.treinamento_aviso {
  margin: 24px 0;
  color: var(--treino-muted);
  font: 500 14px/1.5 var(--font-ui), sans-serif;
}
.treinamento_conversas {
  display: grid;
  gap: 22px;
}
.treinamento_conversas {
  gap: 10px;
}
.treinamento_conversa {
  border: 1px solid var(--treino-line);
  border-radius: 10px;
  background: var(--portal-plano, #fff);
  min-width: 0;
}
.treinamento_conversa[open] {
  padding-bottom: 10px;
}
.treinamento_conversa ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0 10px;
  list-style: none;
}
.treinamento_cartao {
  display: grid;
  grid-template-columns: minmax(84px, auto) repeat(4, minmax(0, 1fr)) minmax(140px, 1.2fr);
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
  font: 500 13px/1.3 var(--font-ui), sans-serif;
}
.treinamento_cartao::-webkit-details-marker {
  display: none;
}
.treinamento_conversa[open] > .treinamento_cartao {
  border-bottom: 1px solid var(--treino-line);
  margin-bottom: 10px;
}
.treinamento_quando b:before {
  content: "\25b8  ";
  color: var(--treino-muted);
}
.treinamento_conversa[open] .treinamento_quando b:before {
  content: "\25be  ";
}
.treinamento_cartao:focus-visible {
  outline: 2px solid var(--treino-ok);
  outline-offset: -2px;
  border-radius: 10px;
}
.treinamento_quando,
.treinamento_campo,
.treinamento_curado {
  display: grid;
  gap: 2px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.treinamento_quando b {
  font: 800 14px/1.1 var(--font-jakarta), sans-serif;
}
.treinamento_quando span {
  color: var(--treino-muted);
  font: 600 12px/1 var(--font-mono-jb), monospace;
}
.treinamento_quando .treinamento_posicao {
  color: var(--treino-accent);
  font-weight: 800;
}
.treinamento_campo small,
.treinamento_curado small {
  color: var(--treino-muted);
  font: 600 10px/1.2 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.treinamento_campo em {
  color: var(--treino-muted);
  font-style: normal;
}
.treinamento_curado {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 8px;
}
.treinamento_curado small {
  grid-column: 1 / -1;
}
.treinamento_curado b {
  font: 800 16px/1 var(--font-jakarta), sans-serif;
}
.treinamento_curado > span:last-child {
  color: var(--treino-muted);
  font: 600 11px/1 var(--font-mono-jb), monospace;
}
.treinamento_barraCurado {
  height: 6px;
  border-radius: 3px;
  background: var(--treino-line);
  overflow: hidden;
}
.treinamento_barraCurado i {
  display: block;
  height: 100%;
  background: var(--treino-ok);
}
.treinamento_avisoDaMarca {
  color: var(--treino-bad);
}
.treinamento_par {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 170px;
  gap: 1px;
  border: 1px solid var(--treino-line);
  border-left: 4px solid var(--treino-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--treino-line);
}
.treinamento_par[data-veredito=conectou] {
  border-left-color: var(--treino-ok);
}
.treinamento_par[data-veredito=parcial] {
  border-left-color: var(--treino-mid);
}
.treinamento_par[data-veredito=falhou] {
  border-left-color: var(--treino-bad);
}
.treinamento_fala,
.treinamento_nota {
  padding: 10px 12px;
  background: var(--portal-plano, #fff);
  min-width: 0;
}
.treinamento_fala p {
  margin: 4px 0 8px;
  font: 500 13px/1.45 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.treinamento_cabecalhoDaFala {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.treinamento_quem {
  color: var(--treino-muted);
  font: 700 10px/1 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.treinamento_posicaoDoPar {
  color: var(--treino-accent);
  font: 800 11px/1 var(--font-mono-jb), monospace;
}
.treinamento_nos,
.treinamento_memoria {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.treinamento_no,
.treinamento_noComum,
.treinamento_noFalha {
  border-radius: 4px;
  padding: 2px 6px;
  font: 600 11px/1.3 var(--font-mono-jb), monospace;
  background: var(--treino-surface);
  color: var(--treino-muted);
}
.treinamento_noComum {
  background: color-mix(in srgb, var(--treino-ok) 16%, transparent);
  color: var(--treino-ok);
}
.treinamento_noFalha {
  background: color-mix(in srgb, var(--treino-bad) 14%, transparent);
  color: var(--treino-bad);
  text-decoration: line-through;
}
.treinamento_nota {
  display: grid;
  align-content: start;
  gap: 4px;
}
.treinamento_veredito {
  font: 750 11px/1 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.treinamento_acerto {
  font: 800 26px/1 var(--font-jakarta), sans-serif;
}
.treinamento_nota dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 8px;
  margin: 0;
  font: 500 11px/1.3 var(--font-ui), sans-serif;
}
.treinamento_nota dt {
  color: var(--treino-muted);
}
.treinamento_nota dd {
  margin: 0;
}
.treinamento_memoria {
  margin: 4px 0 0;
  color: var(--treino-muted);
  font: 500 10px/1.3 var(--font-ui), sans-serif;
  align-items: center;
}
.treinamento_ranking {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 820px;
}
.treinamento_ranking li {
  display: grid;
  grid-template-columns: minmax(120px, 220px) minmax(0, 1fr) 36px;
  gap: 12px;
  align-items: center;
}
.treinamento_rankTermo {
  font: 700 13px/1.2 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.treinamento_rankTermo small {
  display: block;
  color: var(--treino-muted);
  font: 500 10px/1.2 var(--font-mono-jb), monospace;
}
.treinamento_barra {
  height: 10px;
  border-radius: 5px;
  background: var(--treino-surface);
  overflow: hidden;
}
.treinamento_barra i {
  display: block;
  height: 100%;
  background: var(--treino-bad);
}
.treinamento_ranking b {
  font: 800 14px/1 var(--font-jakarta), sans-serif;
  text-align: right;
}
.treinamento_gpu {
  display: grid;
  gap: 16px;
  max-width: 760px;
}
.treinamento_gpu dl {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 8px 16px;
  margin: 0;
  font: 500 14px/1.4 var(--font-ui), sans-serif;
}
.treinamento_gpu dt {
  color: var(--treino-muted);
}
.treinamento_gpu dd {
  margin: 0;
  font-weight: 650;
}
.treinamento_bloqueio {
  margin: 0;
  padding: 12px 14px;
  border-left: 4px solid var(--treino-accent);
  background: var(--treino-surface);
  font: 500 13px/1.5 var(--font-ui), sans-serif;
}
.treinamento_goldAcoes {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  font: 700 12px/1 var(--font-mono-jb), monospace;
}
.treinamento_goldAcoes button:disabled {
  opacity: .5;
  cursor: progress;
}
@media (max-width: 980px) {
  .treinamento_intro {
    grid-template-columns: 1fr;
  }
  .treinamento_resumo {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .treinamento_par {
    grid-template-columns: 1fr;
  }
  .treinamento_cartao {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .treinamento_resumo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .treinamento_gpu dl {
    grid-template-columns: 1fr;
  }
  .treinamento_cartao {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 10px 12px;
  }
  .treinamento_curado {
    grid-column: 1 / -1;
  }
  .treinamento_ranking li {
    grid-template-columns: minmax(0, 1fr) 80px 28px;
  }
}
:root[data-theme=dark] .treinamento_page {
  --treino-ink: #eef2f7;
  --treino-muted: #b5becb;
  --treino-line: #303847;
  --treino-surface: #10151d;
  --treino-ok: #4ade80;
  --treino-mid: #facc15;
  --treino-bad: #f87171;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .treinamento_page {
    --treino-ink: #eef2f7;
    --treino-muted: #b5becb;
    --treino-line: #303847;
    --treino-surface: #10151d;
    --treino-ok: #4ade80;
    --treino-mid: #facc15;
    --treino-bad: #f87171;
  }
}
.treinamento_analise {
  display: grid;
  gap: 8px;
}
.treinamento_unidadeDeTreino {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid var(--treino-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--treino-surface) 86%, var(--treino-accent) 14%);
}
.treinamento_unidadeDeTreino > header {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
.treinamento_unidadeDeTreino > header span {
  color: var(--treino-muted);
  font: 700 10px/1 var(--font-mono-jb), monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.treinamento_unidadeDeTreino > header strong {
  color: var(--treino-ink);
  font: 750 13px/1.3 var(--font-ui), sans-serif;
}
.treinamento_unidadeDeTreino > header small {
  margin-left: auto;
  color: var(--treino-muted);
  font: 600 9px/1 var(--font-mono-jb), monospace;
}
.treinamento_unidadeDeTreino[data-descartada] {
  background: color-mix(in srgb, var(--treino-bad) 8%, var(--treino-surface));
}
.treinamento_textoDaFala {
  margin: 0;
  white-space: pre-wrap;
}
.treinamento_marca {
  background: color-mix(in srgb, var(--treino-accent) 26%, transparent);
  color: inherit;
  border-radius: 3px;
  padding: 0 1px;
  cursor: default;
}
.treinamento_editor .treinamento_marca,
.treinamento_editor ~ .treinamento_marca {
  cursor: pointer;
}
.treinamento_analise[data-anotada] > .treinamento_textoDaFala {
  border-left: 2px solid var(--treino-accent);
  padding-left: 8px;
}
.treinamento_analisar {
  justify-self: start;
  border: 1px solid var(--treino-line);
  border-radius: 999px;
  padding: 5px 12px;
  background: transparent;
  color: var(--treino-ink);
  font: 700 11px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.treinamento_editor {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--treino-line);
  border-radius: 8px;
}
.treinamento_editorLinha {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.treinamento_editorLinha small {
  color: var(--treino-muted);
  font: 500 11px/1.4 var(--font-ui), sans-serif;
}
.treinamento_editor button,
.treinamento_tags button {
  border: 1px solid var(--treino-line);
  border-radius: 999px;
  padding: 6px 11px;
  background: transparent;
  color: var(--treino-ink);
  font: 700 11px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.treinamento_editor button:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.treinamento_navegacaoDeTrechos {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  gap: 8px;
  align-items: center;
}
.treinamento_navegacaoDeTrechos span {
  text-align: center;
  color: var(--treino-muted);
  font: 750 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.treinamento_navegacaoDeTrechos button {
  display: grid;
  place-items: center;
  min-height: 34px;
  padding: 0;
  border-radius: 8px;
}
.treinamento_lexicoDaFrase {
  display: grid;
  gap: 6px;
  padding: 9px 10px;
  border: 1px solid var(--treino-line);
  border-radius: 9px;
  background: var(--portal-plano, #fff);
}
.treinamento_lexicoDaFrase > span {
  color: var(--treino-muted);
  font: 750 9px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.treinamento_lexicoDaFrase > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.treinamento_lexicoDaFrase b {
  border-radius: 5px;
  padding: 4px 7px;
  background: color-mix(in srgb, var(--treino-ok) 14%, transparent);
  color: var(--treino-ok);
  font: 700 10px/1.1 var(--font-mono-jb), monospace;
}
.treinamento_descartarContexto {
  justify-self: start;
}
.treinamento_descartarContexto[aria-pressed=true] {
  border-color: var(--treino-bad);
  background: color-mix(in srgb, var(--treino-bad) 14%, transparent);
}
.treinamento_explicacaoDoDescarte {
  margin: 0;
  padding: 8px 10px;
  border-left: 3px solid var(--treino-bad);
  color: var(--treino-muted);
  background: color-mix(in srgb, var(--treino-bad) 7%, transparent);
  font: 600 11px/1.4 var(--font-ui), sans-serif;
}
.treinamento_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
}
.treinamento_tags button[aria-pressed=true] {
  border-color: var(--treino-accent);
  background: color-mix(in srgb, var(--treino-accent) 16%, transparent);
}
.treinamento_tags .treinamento_adicionarOpcao {
  display: grid;
  place-items: center;
  width: 28px;
  min-width: 28px;
  padding: 0;
  font-size: 16px;
}
.treinamento_novaOpcao {
  display: flex;
  flex: 1 1 280px;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.treinamento_novaOpcao input {
  min-width: min(220px, 100%);
  flex: 1 1 180px;
  border: 1px solid var(--treino-line);
  border-radius: 999px;
  padding: 6px 11px;
  background: var(--treino-surface);
  color: var(--treino-ink);
  font: 600 11px/1.2 var(--font-ui), sans-serif;
}
.treinamento_novaOpcao input:focus-visible {
  outline: 2px solid var(--treino-ok);
  outline-offset: 2px;
}
.treinamento_tags button[data-tag=acertou][aria-pressed=true] {
  border-color: #2f9e6b;
  background: color-mix(in srgb, #2f9e6b 18%, transparent);
}
.treinamento_editor button:focus-visible {
  outline: 2px solid var(--treino-ok);
  outline-offset: 2px;
}
.treinamento_escolhaOrientada {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px dashed var(--treino-line);
  border-radius: 8px;
  color: var(--treino-muted);
}
.treinamento_escolhaOrientada strong {
  color: var(--treino-ink);
  font: 750 12px/1.2 var(--font-ui), sans-serif;
}
.treinamento_escolhaOrientada p {
  margin: 0;
  font: 500 11px/1.45 var(--font-ui), sans-serif;
}
.treinamento_opcaoGuiada {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 36px;
  gap: 10px;
  align-items: stretch;
  padding: 10px;
  border: 1px solid var(--treino-line);
  border-radius: 10px;
  background: var(--treino-surface);
}
.treinamento_chevron {
  align-self: stretch;
  display: grid;
  place-items: center;
  min-width: 36px;
  padding: 0 !important;
  border-radius: 8px !important;
  background: var(--portal-plano, #fff) !important;
}
.treinamento_opcaoConteudo {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.treinamento_opcaoCabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.treinamento_opcaoCabecalho span {
  color: var(--treino-ink);
  font: 750 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.treinamento_opcaoCabecalho small {
  color: var(--treino-muted);
  font: 650 10px/1 var(--font-mono-jb), monospace;
  white-space: nowrap;
}
.treinamento_opcaoConteudo > strong {
  color: var(--treino-ink);
  font: 750 13px/1.25 var(--font-ui), sans-serif;
}
.treinamento_opcaoConteudo > p {
  margin: 0;
  color: var(--treino-muted);
  font: 500 12px/1.45 var(--font-ui), sans-serif;
}
.treinamento_alvoDoTreino {
  display: grid;
  gap: 4px;
  padding: 8px 10px;
  border-left: 3px solid var(--treino-ok);
  border-radius: 5px;
  background: var(--portal-plano, #fff);
}
.treinamento_alvoDoTreino small {
  color: var(--treino-muted);
  font: 700 9px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.treinamento_alvoDoTreino p {
  margin: 0;
  color: var(--treino-ink);
  font: 650 12px/1.45 var(--font-ui), sans-serif;
}
.treinamento_notaDaCuradoria {
  color: var(--treino-muted);
  font: 500 10px/1.35 var(--font-ui), sans-serif;
}
.treinamento_separadorMath {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--treino-muted);
  font: 650 9px/1 var(--font-mono-jb), monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.treinamento_separadorMath:before,
.treinamento_separadorMath:after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--treino-line);
}
.treinamento_gerarMath,
.treinamento_badgeMath {
  box-sizing: border-box;
  width: 100%;
  min-height: 32px;
}
.treinamento_gerarMath {
  border-color: color-mix(in srgb, var(--treino-accent) 55%, var(--treino-line)) !important;
  background: color-mix(in srgb, var(--treino-accent) 8%, transparent) !important;
}
.treinamento_analiseMath {
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--treino-accent) 45%, var(--treino-line));
  border-radius: 12px;
  background: var(--portal-plano, #fff);
}
.treinamento_analiseMath > header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-end;
  padding: 2px;
}
.treinamento_analiseMath > header > div {
  display: grid;
  gap: 3px;
}
.treinamento_analiseMath > header span {
  color: var(--treino-accent);
  font: 750 9px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.treinamento_analiseMath > header strong {
  font: 780 14px/1.25 var(--font-ui), sans-serif;
}
.treinamento_analiseMath > header small,
.treinamento_analiseMath > footer small {
  color: var(--treino-muted);
  font: 550 9px/1.35 var(--font-mono-jb), monospace;
  overflow-wrap: anywhere;
}
.treinamento_camadaMath {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--treino-line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--treino-surface) 72%, transparent);
}
.treinamento_camadaMath > header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.treinamento_camadaMath > header > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.treinamento_camadaMath > header > div span {
  color: var(--treino-muted);
  font: 700 9px/1 var(--font-mono-jb), monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.treinamento_camadaMath > header strong {
  font: 800 13px/1.2 var(--font-ui), sans-serif;
}
.treinamento_confiancaMath {
  flex: 0 0 auto;
  border: 1px solid var(--treino-line);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--treino-muted);
  font: 700 9px/1 var(--font-mono-jb), monospace;
  text-transform: uppercase;
}
.treinamento_resumoMath {
  margin: 0;
  font: 550 12px/1.45 var(--font-ui), sans-serif;
}
.treinamento_itensMath {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 8px;
}
.treinamento_itensMath > div {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--treino-line);
  border-radius: 8px;
  background: var(--portal-plano, #fff);
}
.treinamento_itensMath strong {
  font: 750 12px/1.2 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.treinamento_itensMath p,
.treinamento_problemasMath p {
  margin: 0;
  color: var(--treino-muted);
  font: 500 11px/1.4 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.treinamento_itensMath blockquote {
  margin: 0;
  padding-left: 7px;
  border-left: 2px solid var(--treino-accent);
  font: 600 10px/1.35 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.treinamento_itensMath blockquote small {
  color: var(--treino-muted);
  font-family: var(--font-mono-jb), monospace;
}
.treinamento_itensMath dl {
  display: grid;
  gap: 3px;
  margin: 0;
}
.treinamento_itensMath dl > div {
  display: grid;
  grid-template-columns: minmax(76px, auto) 1fr;
  gap: 7px;
  font: 500 10px/1.3 var(--font-ui), sans-serif;
}
.treinamento_itensMath dt {
  color: var(--treino-muted);
}
.treinamento_itensMath dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.treinamento_problemasMath {
  display: grid;
  gap: 4px;
  padding: 8px;
  border-left: 3px solid var(--treino-bad);
  background: color-mix(in srgb, var(--treino-bad) 7%, transparent);
}
.treinamento_explicacaoMath {
  border-top: 1px solid var(--treino-line);
  padding-top: 7px;
}
.treinamento_explicacaoMath summary {
  cursor: pointer;
  font: 700 11px/1.3 var(--font-ui), sans-serif;
}
.treinamento_explicacaoMath ol {
  margin: 7px 0;
  padding-left: 20px;
  color: var(--treino-muted);
  font: 500 10px/1.45 var(--font-ui), sans-serif;
}
.treinamento_explicacaoMath p,
.treinamento_explicacaoMath > small {
  margin: 5px 0 0;
  color: var(--treino-muted);
  font: 500 10px/1.4 var(--font-ui), sans-serif;
}
.treinamento_decisaoMath {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(180px, 1fr);
  gap: 7px;
  padding-top: 3px;
}
.treinamento_decisaoMath label {
  display: grid;
  gap: 4px;
  color: var(--treino-muted);
  font: 650 9px/1.2 var(--font-mono-jb), monospace;
}
.treinamento_decisaoMath textarea,
.treinamento_decisaoMath input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  resize: vertical;
  border: 1px solid var(--treino-line);
  border-radius: 7px;
  padding: 7px 8px;
  background: var(--portal-plano, #fff);
  color: var(--treino-ink);
  font: 500 11px/1.35 var(--font-ui), sans-serif;
}
.treinamento_decisaoMath > div {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.treinamento_decisaoMath > div button {
  padding: 5px 9px;
  font-size: 10px;
}
.treinamento_decisaoMath > small {
  grid-column: 1 / -1;
  color: var(--treino-bad);
}
.treinamento_ultimaDecisao,
.treinamento_pendenteMath {
  grid-column: 1 / -1;
  margin: 0;
  padding: 7px 9px;
  border-radius: 6px;
  font: 600 10px/1.35 var(--font-ui), sans-serif;
}
.treinamento_ultimaDecisao {
  color: var(--treino-ok);
  background: color-mix(in srgb, var(--treino-ok) 10%, transparent);
}
.treinamento_pendenteMath {
  color: var(--treino-mid);
  background: color-mix(in srgb, var(--treino-mid) 10%, transparent);
}
.treinamento_revisaoMathSalva,
.treinamento_descarteSalvo {
  margin: 0;
  color: var(--treino-ok);
  font: 600 11px/1.35 var(--font-ui), sans-serif;
}
.treinamento_descarteSalvo {
  color: var(--treino-muted);
}
.treinamento_tagsGravadas,
.treinamento_porTag {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 0;
}
.treinamento_tagsGravadas span,
.treinamento_porTag span {
  border: 1px solid var(--treino-line);
  border-radius: 999px;
  padding: 3px 9px;
  font: 700 10px/1.2 var(--font-mono-jb), monospace;
}
.treinamento_porTag {
  padding: 10px 12px;
  border: 1px solid var(--treino-line);
  border-radius: 8px;
  font: 600 12px/1.3 var(--font-ui), sans-serif;
}
.treinamento_comoDeveria {
  margin: 0;
  color: var(--treino-muted);
  font: 500 12px/1.45 var(--font-ui), sans-serif;
}
.treinamento_gravada {
  color: var(--treino-muted);
  font: 600 11px/1 var(--font-ui), sans-serif;
}
@media (max-width: 520px) {
  .treinamento_opcaoGuiada {
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 6px;
    padding: 8px;
  }
  .treinamento_chevron {
    min-width: 32px;
  }
  .treinamento_decisaoMath {
    grid-template-columns: 1fr;
  }
}
.treinamento_resumoCamadas {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--treino-accent) 45%, var(--treino-line));
  border-radius: 10px;
}
.treinamento_resumoCamadas > span {
  color: var(--treino-accent);
  font: 750 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.treinamento_abrirCamadas {
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--treino-accent);
  border-radius: 8px;
  background: transparent;
  color: var(--treino-accent);
  font: 700 12px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.treinamento_modalCamadas {
  width: min(960px, calc(100vw - 32px));
  max-height: 90vh;
  overflow: auto;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--treino-accent) 45%, var(--treino-line));
  border-radius: 14px;
  background: var(--portal-plano, #fff);
  color: inherit;
}
.treinamento_modalCamadas::backdrop {
  background: #0000008c;
}
.treinamento_modalCamadas > header {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 10px;
}
.treinamento_modalCamadas > header > div {
  display: grid;
  gap: 3px;
}
.treinamento_modalCamadas > header span {
  color: var(--treino-accent);
  font: 750 9px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.treinamento_modalCamadas > header strong {
  font: 780 14px/1.25 var(--font-ui), sans-serif;
}
.treinamento_modalCamadas small {
  color: var(--treino-muted);
  font: 550 9px/1.35 var(--font-mono-jb), monospace;
  overflow-wrap: anywhere;
}
.treinamento_fecharModal {
  min-width: 34px;
  min-height: 34px;
  border: 1px solid var(--treino-line);
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: 600 18px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.treinamento_corpoModal {
  display: grid;
  gap: 10px;
}
.treinamento_treinoLexico {
  color: var(--treino-muted);
  font: 600 11px/1.35 var(--font-ui), sans-serif;
}
.treinamento_treinoLexico[data-estado=gravado] {
  color: var(--treino-ok);
}
.treinamento_treinoLexico[data-estado=falhou],
.treinamento_treinoLexico[data-estado=recusado] {
  color: var(--treino-bad);
}
.treinamento_fila {
  display: grid;
  gap: 14px;
}
.treinamento_fila h2 {
  margin: 0;
  font-size: 1.1rem;
}
.treinamento_filtrosDaFila {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}
.treinamento_filtrosDaFila label {
  display: grid;
  gap: 4px;
  font-size: .8rem;
}
.treinamento_filtrosDaFila span {
  font-size: .8rem;
  opacity: .75;
}
.treinamento_linhasDaFila {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.treinamento_linhasDaFila > li {
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 10px;
  padding: 10px 12px;
  display: grid;
  gap: 8px;
  min-width: 0;
}
.treinamento_linhasDaFila > li > button {
  all: unset;
  cursor: pointer;
  display: grid;
  gap: 4px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.treinamento_linhasDaFila > li > button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.treinamento_estadoDaLinha {
  justify-self: start;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid currentColor;
}
.treinamento_estadoDaLinha[data-estado=pendente],
.treinamento_estadoDaLinha[data-estado=desatualizada] {
  color: var(--treino-mid);
}
.treinamento_estadoDaLinha[data-estado=decidida] {
  color: var(--treino-ok);
}
.treinamento_itensDaLinha {
  margin: 0;
  padding-left: 18px;
  font-size: .85rem;
  display: grid;
  gap: 2px;
  overflow-wrap: anywhere;
}
.treinamento_badgeMath {
  --badge-cor: var(--treino-mid);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  padding: 5px 10px 5px 8px;
  border: 1px dashed color-mix(in srgb, var(--badge-cor) 60%, var(--treino-line));
  border-left: 4px solid var(--badge-cor);
  border-radius: 3px;
  background: color-mix(in srgb, var(--badge-cor) 9%, var(--treino-surface));
  color: var(--treino-ink);
  font: 650 11px/1.3 var(--font-mono-jb), monospace;
  cursor: default;
  user-select: text;
}
.treinamento_badgeMath[data-estado=falha] {
  --badge-cor: var(--treino-bad);
}
.treinamento_badgeMath[data-estado=aviso] {
  --badge-cor: var(--treino-muted);
}
.treinamento_trilhaMath {
  display: flex;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 0 0 auto;
}
.treinamento_trilhaMath li {
  width: 14px;
  height: 6px;
  border-radius: 1px;
  background: color-mix(in srgb, var(--treino-muted) 25%, transparent);
}
.treinamento_trilhaMath li[data-etapa=feita] {
  background: var(--treino-ok);
}
.treinamento_trilhaMath li[data-etapa=atual] {
  background: var(--badge-cor);
  animation: treinamento_etapaMath 1.2s ease-in-out infinite alternate;
}
.treinamento_trilhaMath li[data-etapa=falhou] {
  background: var(--treino-bad);
}
@keyframes treinamento_etapaMath {
  0% {
    opacity: .35;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .treinamento_trilhaMath li[data-etapa=atual] {
    animation: none;
  }
}
.treinamento_textoMath {
  flex: 1 1 12rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.treinamento_badgeMath > small {
  flex: 0 1 auto;
  color: var(--treino-muted);
  font: 600 10px/1.2 var(--font-mono-jb), monospace;
  overflow-wrap: anywhere;
}
.treinamento_relatorio {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--treino-accent) 45%, var(--treino-line));
  border-radius: 10px;
}
.treinamento_relatorio > header {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: baseline;
  justify-content: space-between;
}
.treinamento_relatorio > header span {
  color: var(--treino-accent);
  font: 750 10px/1.2 var(--font-mono-jb), monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.treinamento_relatorio > header small {
  color: var(--treino-muted);
  overflow-wrap: anywhere;
}
.treinamento_relatorio h4 {
  margin: 4px 0 0;
  font: 750 12px/1.3 var(--font-ui), sans-serif;
}
.treinamento_relatorio p {
  margin: 0;
  font: 500 13px/1.5 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.treinamento_relatorioContribuicao {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 10px;
  margin: 0;
  font: 500 13px/1.45 var(--font-ui), sans-serif;
}
.treinamento_relatorioContribuicao dt {
  font-weight: 750;
}
.treinamento_relatorioContribuicao dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.treinamento_relatorioCriticas {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.treinamento_relatorioCriticas li {
  display: grid;
  gap: 4px;
  padding: 8px 10px;
  border: 1px solid var(--treino-line);
  border-left-width: 4px;
  border-radius: 8px;
}
.treinamento_relatorioCriticas li[data-veredito=sustentado] {
  border-left-color: var(--treino-ok);
}
.treinamento_relatorioCriticas li[data-veredito=contestado] {
  border-left-color: var(--treino-bad);
}
.treinamento_relatorioCriticas li[data-veredito=indeterminado] {
  border-left-color: var(--treino-muted);
}
.treinamento_relatorioCriticas li > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
}
.treinamento_relatorioCriticas li > div small {
  color: var(--treino-muted);
  font: 650 10px/1 var(--font-mono-jb), monospace;
  text-transform: uppercase;
}
.treinamento_relatorioCriticas li > div em {
  margin-left: auto;
  font: 750 11px/1 var(--font-mono-jb), monospace;
  font-style: normal;
  text-transform: uppercase;
}
.treinamento_relatorioCriticas blockquote {
  margin: 0;
  padding-left: 8px;
  border-left: 2px solid var(--treino-line);
  color: var(--treino-muted);
  font: italic 500 12px/1.45 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.treinamento_relatorioRebaixado {
  color: var(--treino-bad);
}
@media (max-width: 520px) {
  .treinamento_relatorioContribuicao {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* modules/dmg/ui/taxonomia.module.css */
.taxonomia_taxonomia {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.taxonomia_cartao {
  grid-template-columns: minmax(84px, auto) repeat(4, minmax(0, 1fr));
}
.taxonomia_lote {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  padding: 10px 14px;
  border: 1px solid var(--treino-line);
  border-radius: 8px;
}
.taxonomia_lote > span {
  display: grid;
  gap: 2px;
}
.taxonomia_lote small {
  color: var(--treino-muted);
  font: 600 10px/1.2 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.taxonomia_lote b {
  font: 800 16px/1 var(--font-jakarta), sans-serif;
}
.taxonomia_lote[data-estado=rodando] b:first-of-type {
  color: var(--treino-mid);
}
.taxonomia_lote[data-estado=concluido] > span:first-child b {
  color: var(--treino-ok);
}
.taxonomia_lote[data-estado=falhou] > span:first-child b {
  color: var(--treino-bad);
}
.taxonomia_lote button {
  padding: 6px 12px;
  border: 1px solid var(--treino-line);
  border-radius: 6px;
  background: var(--treino-surface);
  color: var(--treino-ink);
  font: 700 12px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.taxonomia_lote button {
  margin-left: auto;
}
.taxonomia_taxonomia button:disabled {
  opacity: .55;
  cursor: default;
}
.taxonomia_contagem {
  display: inline-block;
  margin: 0 8px 4px 0;
}
.taxonomia_contagem[data-curadoria=pendente],
.taxonomia_contagem[data-curadoria=em_correcao] {
  color: var(--treino-mid);
}
.taxonomia_contagem[data-curadoria=aprovada],
.taxonomia_contagem[data-curadoria=corrigida] {
  color: var(--treino-ok);
}
.taxonomia_contagem[data-curadoria=rejeitada] {
  color: var(--treino-bad);
}
.taxonomia_par {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1px;
  border: 1px solid var(--treino-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--treino-line);
}
.taxonomia_lexicos {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.taxonomia_lexico {
  border: 1px solid var(--treino-line);
  border-left: 4px solid var(--treino-mid);
  border-radius: 6px;
  background: var(--treino-surface);
  min-width: 0;
}
.taxonomia_lexico[data-curadoria=aprovada],
.taxonomia_lexico[data-curadoria=corrigida] {
  border-left-color: var(--treino-ok);
}
.taxonomia_lexico[data-curadoria=rejeitada] {
  border-left-color: var(--treino-bad);
}
.taxonomia_lexico > summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  padding: 8px 10px;
  cursor: pointer;
  font: 600 13px/1.35 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.taxonomia_curadoria {
  margin-left: auto;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--portal-plano, #fff);
  color: var(--treino-muted);
  font: 600 10px/1.4 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.taxonomia_lexico[data-curadoria=aprovada] .taxonomia_curadoria,
.taxonomia_lexico[data-curadoria=corrigida] .taxonomia_curadoria {
  color: var(--treino-ok);
}
.taxonomia_lexico[data-curadoria=rejeitada] .taxonomia_curadoria {
  color: var(--treino-bad);
}
.taxonomia_aberto {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
  min-width: 0;
}
.taxonomia_frase {
  margin: 0;
  font: 500 13px/1.45 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.taxonomia_frase small {
  display: block;
  color: var(--treino-muted);
  font: 600 10px/1.2 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.taxonomia_dimensoes {
  display: grid;
  gap: 4px;
}
.taxonomia_dimensao {
  display: grid;
  grid-template-columns: minmax(110px, 140px) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: baseline;
  font: 500 12px/1.4 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.taxonomia_dimensao em {
  font: 700 11px/1 var(--font-mono-jb), monospace;
  font-style: normal;
  color: var(--treino-muted);
}
.taxonomia_dimensao small,
.taxonomia_trilha small,
.taxonomia_relacoes small,
.taxonomia_niveis small,
.taxonomia_correcao small {
  color: var(--treino-muted);
  font: 600 10px/1.2 var(--font-mono-jb), monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.taxonomia_caminho {
  font: 600 11px/1.4 var(--font-mono-jb), monospace;
  color: var(--treino-ink);
  overflow-wrap: anywhere;
}
.taxonomia_motivo,
.taxonomia_pendente,
.taxonomia_recusa {
  margin: 0;
  font: 500 12px/1.45 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.taxonomia_motivo,
.taxonomia_pendente {
  color: var(--treino-muted);
}
.taxonomia_recusa {
  color: var(--treino-bad);
}
.taxonomia_trilha,
.taxonomia_relacoes {
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px dashed var(--treino-line);
  border-radius: 6px;
  font: 500 12px/1.4 var(--font-ui), sans-serif;
  overflow-wrap: anywhere;
}
.taxonomia_trilha p,
.taxonomia_trilha ol,
.taxonomia_relacoes ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.taxonomia_trilha > div {
  display: grid;
  gap: 2px;
}
.taxonomia_acoes,
.taxonomia_linha {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.taxonomia_acoes button,
.taxonomia_correcao button,
.taxonomia_linha button {
  padding: 6px 12px;
  border: 1px solid var(--treino-line);
  border-radius: 6px;
  background: var(--treino-surface);
  color: var(--treino-ink);
  font: 700 12px/1 var(--font-ui), sans-serif;
  cursor: pointer;
}
.taxonomia_acoes button[aria-pressed=true] {
  border-color: var(--treino-accent);
  color: var(--treino-accent);
}
.taxonomia_correcao {
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--treino-accent);
  border-radius: 6px;
}
.taxonomia_correcao label,
.taxonomia_niveis label {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.taxonomia_niveis {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.taxonomia_novo {
  font: 600 12px/1.6 var(--font-ui), sans-serif;
  color: var(--treino-accent);
}
.taxonomia_correcao select,
.taxonomia_correcao input,
.taxonomia_acoes input,
.taxonomia_motivoDaDecisao {
  min-width: 0;
  padding: 5px 8px;
  border: 1px solid var(--treino-line);
  border-radius: 6px;
  background: var(--portal-plano, #fff);
  color: var(--treino-ink);
  font: 500 12px/1.2 var(--font-ui), sans-serif;
}
.taxonomia_linha input {
  flex: 1 1 160px;
}
.taxonomia_maquinas {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0;
  color: var(--treino-muted);
  font: 500 11px/1.4 var(--font-mono-jb), monospace;
}
@media (max-width: 820px) {
  .taxonomia_dimensao {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .taxonomia_dimensao small {
    grid-column: 1 / -1;
  }
  .taxonomia_par {
    grid-template-columns: minmax(0, 1fr);
  }
  .taxonomia_cartao {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 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;
  }
}
