@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/ativos/inter-latin-wght.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --verde: #009c3b;
  --verde-escuro: #00702a;
  --amarelo: #ffdf00;
  --azul: #002776;
  --pico-font-family: "Inter", system-ui, sans-serif;
  --pico-border-radius: 0.6rem;
}
:root:not([data-theme="dark"]),
[data-theme="light"] {
  --pico-primary: var(--verde-escuro);
  --pico-primary-background: var(--verde);
  --pico-primary-hover: var(--verde-escuro);
  --pico-primary-hover-background: var(--verde-escuro);
  --pico-primary-focus: rgba(0, 156, 59, 0.25);
  --suave: #f4f7f5;
  --verde-tenue: rgba(0, 156, 59, 0.07);
  --erro-fundo: #fdecea;
  --erro-texto: #8a1c1c;
}
@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --pico-primary: #4cc97a;
    --pico-primary-background: var(--verde);
    --pico-primary-hover: #6fd894;
    --pico-primary-hover-background: var(--verde-escuro);
    --pico-primary-focus: rgba(76, 201, 122, 0.25);
    --suave: #18201b;
    --verde-tenue: rgba(76, 201, 122, 0.1);
    --erro-fundo: #3a1717;
    --erro-texto: #ffb4ab;
  }
}
body { background: var(--pico-background-color); }
.faixa {
  height: 4px;
  background: linear-gradient(90deg, var(--verde) 0 50%, var(--amarelo) 50% 75%, var(--azul) 75% 100%);
}
header.container nav { padding-block: 0.5rem; }
.marca { display: flex; align-items: center; gap: 0.55rem; font-weight: 800; font-size: 1.15rem; color: var(--pico-color); text-decoration: none; }
.marca svg { width: 28px; height: 28px; flex: none; }
.heroi { padding-block: 3.5rem 2rem; text-align: center; }
.heroi h1 { font-size: clamp(2rem, 6vw, 3.3rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.08; margin-bottom: 1rem; }
.heroi h1 em { font-style: normal; color: var(--pico-primary); }
.heroi > p { font-size: 1.15rem; max-width: 40rem; margin-inline: auto; color: var(--pico-muted-color); }
.contador { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; padding: 0.3rem 0.85rem; border-radius: 999px; background: var(--suave); margin-bottom: 1.4rem; }
.contador i { width: 8px; height: 8px; border-radius: 50%; background: var(--amarelo); }
.contador.pronto i { background: var(--verde); }
.comando { display: flex; align-items: stretch; max-width: 48rem; margin: 2rem auto 0; text-align: left; }
.comando code { flex: 1; padding: 0.85rem 1rem; border-radius: var(--pico-border-radius) 0 0 var(--pico-border-radius); overflow-x: auto; white-space: nowrap; font-size: 0.88rem; }
.comando button { margin: 0; border-radius: 0 var(--pico-border-radius) var(--pico-border-radius) 0; white-space: nowrap; }
section { padding-block: 2.5rem; }
section > h2 { font-weight: 800; letter-spacing: -0.02em; }
.grade { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.grade article { margin: 0; }
.grade article h3 { font-size: 1.05rem; margin-bottom: 0.4rem; }
.grade article p { margin: 0; color: var(--pico-muted-color); font-size: 0.95rem; }
#busca form { display: flex; gap: 0.5rem; }
#busca form input { margin: 0; }
#busca form button { margin: 0; width: auto; }
#resultados article { margin: 1rem 0 0; }
#resultados header { display: flex; flex-direction: column; gap: 0.15rem; margin-bottom: 0.6rem; }
#resultados header a { font-weight: 600; }
#resultados header small { color: var(--pico-muted-color); font-size: 0.78rem; word-break: break-all; }
#resultados .ementa { font-size: 0.9rem; margin-bottom: 0.6rem; }
#resultados pre { white-space: pre-wrap; max-height: 14rem; overflow: auto; font-size: 0.82rem; margin: 0; }
#mensagem { color: var(--pico-muted-color); margin-top: 1rem; }
.subtitulo { color: var(--pico-muted-color); margin-top: -0.4rem; }
.planos > h2, .planos > .subtitulo, .planos > .nota { text-align: center; }
.planos .grade { max-width: 52rem; margin: 2.5rem auto 0; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
.plano { position: relative; display: flex; flex-direction: column; padding: 1.75rem; border: 1px solid var(--pico-muted-border-color); box-shadow: none; }
.plano.destaque { border: 2px solid var(--verde); background: linear-gradient(180deg, var(--verde-tenue), transparent 45%), var(--pico-card-background-color); box-shadow: 0 14px 34px -16px rgba(0, 112, 42, 0.45); }
.plano .selo { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); padding: 0.25rem 0.85rem; border-radius: 999px; background: var(--verde); color: #fff; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em; white-space: nowrap; }
.grade .plano h3 { font-size: 1.2rem; margin-bottom: 0.2rem; }
.grade .plano .para { margin-bottom: 1.1rem; }
.plano [role="button"] { width: 100%; }
.plano.destaque [role="button"] { font-weight: 700; }
.planos .nota { color: var(--pico-muted-color); font-size: 0.88rem; margin-top: 1.5rem; }
.grade article p.preco, .preco { font-size: 2.5rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1; margin: 0 0 1.4rem; color: var(--pico-h1-color); }
.preco small { margin-left: 0.15rem; font-size: 1rem; font-weight: 500; letter-spacing: 0; color: var(--pico-muted-color); }
.itens { flex: 1; margin: 0 0 1.6rem; padding: 0; }
.itens li { list-style: none; position: relative; margin-bottom: 0.6rem; padding-left: 1.75rem; }
.itens li::before { content: ""; position: absolute; left: 0; top: 0.2em; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 75% no-repeat; }
.plano:not(.destaque) .itens li::before { background-color: var(--pico-muted-color); }
pre code { font-size: 0.82rem; }
details summary { font-weight: 600; }
.progresso-geral { margin: 1.8rem 0 1.4rem; }
.progresso-topo { display: flex; align-items: baseline; gap: 0.8rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
.progresso-topo strong { font-size: 2.5rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: var(--pico-h1-color); }
.progresso-topo span { color: var(--pico-muted-color); font-size: 0.95rem; }
.barra { height: 0.7rem; border-radius: 999px; background: var(--suave); overflow: hidden; }
.barra i { display: block; height: 100%; min-width: 0.4rem; border-radius: inherit; background: var(--verde); }
.progresso-geral .barra { height: 1rem; }
#progresso-fases details { margin: 0; padding-block: 0.9rem; border-top: 1px solid var(--pico-muted-border-color); }
#progresso-fases summary { display: grid; grid-template-columns: minmax(0, 1fr) 4rem 1rem; gap: 0.3rem 1rem; align-items: center; }
#progresso-fases summary::after { grid-column: 3; grid-row: 1; float: none; margin: 0; }
#progresso-fases summary .barra { grid-column: 1 / -1; }
#progresso-fases summary small { grid-column: 1 / -1; font-weight: 400; color: var(--pico-muted-color); }
.fase-percentual, .serie-percentual { text-align: right; font-variant-numeric: tabular-nums; }
.series { display: grid; gap: 0.5rem; margin: 0.9rem 0 0; padding: 0; }
.series li { list-style: none; display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr) 7.5rem 3.5rem; gap: 0.8rem; align-items: center; margin: 0; font-size: 0.88rem; }
.series .barra { height: 0.45rem; }
.series .serie-contagem { color: var(--pico-muted-color); text-align: right; font-variant-numeric: tabular-nums; font-size: 0.8rem; }
.series .completa i { background: var(--verde-escuro); }
#progresso .nota { color: var(--pico-muted-color); font-size: 0.85rem; margin-top: 1.2rem; }
.aviso { background: var(--suave); border-left: 4px solid var(--amarelo); padding: 1rem 1.2rem; border-radius: var(--pico-border-radius); font-size: 0.92rem; }
footer.container { padding-block: 2rem 3rem; font-size: 0.88rem; color: var(--pico-muted-color); }
@media (max-width: 576px) {
  .comando { flex-direction: column; }
  .comando code { border-radius: var(--pico-border-radius) var(--pico-border-radius) 0 0; }
  .comando button { border-radius: 0 0 var(--pico-border-radius) var(--pico-border-radius); }
  #busca form { flex-direction: column; }
  #busca form button { width: 100%; }
  .series li { grid-template-columns: minmax(0, 1fr) 3.5rem; gap: 0.3rem 0.8rem; }
  .series .barra { grid-column: 1 / -1; grid-row: 2; }
  .series .serie-contagem { display: none; }
}
.documento main.container { max-width: 46rem; padding-block: 2rem 3rem; }
.documento main h1 { font-weight: 800; letter-spacing: -0.02em; margin-bottom: 0.3rem; }
.documento main h2 { font-size: 1.2rem; margin-top: 2.2rem; }
.documento .atualizado { color: var(--pico-muted-color); font-size: 0.9rem; }
.documento footer.container { padding-block: 1rem 3rem; font-size: 0.88rem; color: var(--pico-muted-color); }
.documento main.container:has(.painel) { max-width: 1120px; }
.painel .topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1.5rem; }
.painel .topo .atualizado { margin: 0; }
.painel .topo form { margin: 0.4rem 0 0; }
.painel .cartoes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.painel article { display: flex; flex-direction: column; margin: 0; }
.painel article h2 { margin: 0 0 1rem; }
.painel article > form:last-child { margin: auto 0 0; }
.painel article p { margin-bottom: 0.6rem; }
.painel button { width: auto; margin-bottom: 0.5rem; padding-inline: 1.4rem; }
.painel form small { display: block; color: var(--pico-muted-color); }
.painel table { margin: 0; white-space: nowrap; }
.painel .grid { gap: 1rem; }
@media (min-width: 1024px) {
  .painel .cartoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.painel dialog article { max-width: 30rem; }
.painel dialog article h2 { margin-bottom: 0.8rem; }
.painel dialog footer { display: flex; justify-content: flex-end; gap: 0.75rem; }
.painel dialog footer button { margin: 0; }
.perigo { --pico-background-color: #c62828; --pico-border-color: #c62828; --pico-color: #fff; }
.perigo:is(:hover, :focus-visible) { --pico-background-color: #a31f1f; --pico-border-color: #a31f1f; --pico-color: #fff; }
.erro { margin-bottom: 1.2rem; padding: 0.8rem 1rem; border-left: 4px solid #c62828; border-radius: var(--pico-border-radius); background: var(--erro-fundo); color: var(--erro-texto); font-size: 0.95rem; }
.conta main.container { padding-top: 2.5rem; }
.conta main.container:has(.acesso) { max-width: 28rem; }
.cartao { margin: 0 0 1.2rem; padding: 1.75rem; border: 1px solid var(--pico-muted-border-color); box-shadow: none; }
.cartao form [type="submit"] { width: 100%; margin-bottom: 0; }
.cartao label small { margin-top: -0.4rem; }
.acesso h1 { font-size: 1.9rem; margin-bottom: 0.4rem; }
.acesso > .subtitulo { margin: 0 0 1.6rem; }
.alternativa { text-align: center; color: var(--pico-muted-color); font-size: 0.92rem; }

.checkout { display: grid; min-height: 100vh; }
.checkout .lado { display: flex; flex-direction: column; gap: 2rem; padding: 2rem 1.5rem; color: #fff; background: #0d3b24; }
.checkout .lado .marca { color: #fff; }
.checkout .oferta .rotulo { margin: 0 0 0.4rem; color: rgba(255, 255, 255, 0.75); font-size: 0.95rem; font-weight: 600; }
.checkout .oferta .valor { margin: 0 0 1.6rem; font-size: clamp(2.6rem, 6vw, 3.6rem); font-weight: 800; color: #fff; letter-spacing: -0.04em; line-height: 1; }
.checkout .oferta .valor span { margin-left: 0.3rem; color: rgba(255, 255, 255, 0.7); font-size: 1.05rem; font-weight: 500; letter-spacing: 0; }
.checkout .oferta ul { margin: 0; padding: 0; }
.checkout .oferta li { list-style: none; position: relative; margin-bottom: 0.75rem; padding-left: 1.9rem; color: rgba(255, 255, 255, 0.92); }
.checkout .oferta li::before { content: ""; position: absolute; left: 0; top: 0.15em; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--amarelo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.4' fill='none' stroke='%23002776' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 75% no-repeat; }
.checkout .lado .pagamento { margin: 0; padding-left: 1.6rem; color: rgba(255, 255, 255, 0.85); font-size: 0.88rem; line-height: 1.5; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") left 0.1em / 1.05rem no-repeat; }
.checkout .lado .pagamento span { color: rgba(255, 255, 255, 0.6); }
.checkout .principal { display: flex; flex-direction: column; padding: 1.25rem 1.5rem 1.5rem; }
.checkout .topo { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.9rem; color: var(--pico-muted-color); }
.checkout .topo a { text-decoration: none; }
.checkout .caixa { width: 100%; max-width: 27rem; margin: auto; padding-block: 2.5rem; }
.checkout h1 { margin-bottom: 0.5rem; font-size: 1.85rem; font-weight: 800; letter-spacing: -0.025em; }
.checkout .subtitulo { margin: 0 0 2rem; }
.checkout label small { margin-top: -0.4rem; }
.checkout .aceite { margin: 0.4rem 0 1.4rem; font-size: 0.92rem; }
.checkout form [type="submit"], .checkout .pagar { width: 100%; margin: 0; padding-block: 0.85rem; font-weight: 700; }
.checkout .pagar { margin-bottom: 2.2rem; }
.checkout .rodape { margin: 0; text-align: center; color: var(--pico-muted-color); font-size: 0.82rem; }
.checkout .rodape a { color: inherit; }
.proximos { margin: 0; padding: 0; counter-reset: passo; }
.proximos li { list-style: none; position: relative; margin: 0; padding: 0 0 1.4rem 2.6rem; counter-increment: passo; }
.proximos li::before { content: counter(passo); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--verde-tenue); color: var(--pico-primary); font-size: 0.85rem; font-weight: 700; }
.proximos li:not(:last-child)::after { content: ""; position: absolute; left: 0.875rem; top: 2.1rem; bottom: 0.3rem; width: 2px; background: var(--pico-muted-border-color); }
.proximos strong { display: block; margin-bottom: 0.15rem; }
.proximos span { color: var(--pico-muted-color); font-size: 0.92rem; }
@media (min-width: 900px) {
  .checkout { grid-template-columns: minmax(22rem, 0.85fr) 1fr; }
  .checkout .lado { justify-content: space-between; padding: 2.5rem 3.5rem; }
  .checkout .principal { padding: 1.5rem 2.5rem 2rem; }
}
@media (max-width: 899px) {
  .checkout .oferta ul { display: none; }
  .checkout .oferta .valor { margin-bottom: 0; }
  .checkout .lado { gap: 1.25rem; }
}
