/* ==========================================================================
   ASSINAR PELO SITE (A1) — só o que é desta página.            13/09/2026
   Identidade (tinta, verde, Space Grotesk, JetBrains Mono, .folha, .botao,
   .etiq, .secao, .inf-loader) vem de infora.css; as fontes, de
   assinar-fontes.css (servidas pelo próprio site: a página não chama CDN).

   🚨 Nada de style="" no HTML nem <style>: a CSP da página é style-src 'self'.
   Posição do marcador do selo é calculada no JS e aplicada por CSSOM.
   Prefixo as- conferido: não existe em infora.css nem documentos.css.
   ========================================================================== */

[hidden]{display:none !important}
.as-defs{position:absolute;width:0;height:0;overflow:hidden}
.as-pular{position:absolute;left:-9999px;top:8px;z-index:50;padding:9px 13px;border-radius:8px;
  background:var(--marca);color:#04150d;font:600 13px var(--display);text-decoration:none}
.as-pular:focus{left:16px}
.as-sem-js{max-width:var(--max);margin:20px auto;padding:14px 18px;border-left:3px solid var(--alerta);
  background:rgba(255,179,71,.08);color:var(--texto)}

:where(.as-pagina) a:focus-visible,:where(.as-pagina) button:focus-visible,
.as-soltar:focus-within,#pdf-canvas:focus-visible{outline:3px solid rgba(76,237,153,.35);outline-offset:2px}

/* == CABEÇALHO ============================================================ */
.as-topo{padding-bottom:6px}
.as-selo-topo{padding:6px 10px;border:1px solid rgba(63,217,200,.34);border-radius:999px;
  color:var(--menta);font:600 10.5px/1 var(--display);letter-spacing:.16em;white-space:nowrap}
.as-nav{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.as-nav a{padding:7px 12px;border-radius:9px;color:var(--fraco);font-size:13.5px;text-decoration:none;
  transition:color .15s,background .15s,border-color .15s}
.as-nav a:hover{color:var(--marca2);background:rgba(63,217,200,.07)}
.as-nav .as-entrar{margin-left:4px;border:1px solid var(--borda2);color:var(--texto);font-weight:600}
.as-nav .as-entrar:hover{border-color:var(--marca);background:transparent}
@media (max-width:900px){ .as-selo-topo{display:none} }
@media (max-width:560px){ .as-nav a:not(.as-entrar){display:none} }

/* == ABERTURA: as duas formas ============================================= */
.as-abertura{margin-top:14px}
.as-kicker{margin:0 0 10px;color:var(--menta);font:600 11px/1.3 var(--display);letter-spacing:.16em}
.as-abertura .sub{max-width:72ch}
.as-duas-tit{margin:22px 0 0;color:var(--texto);font:500 15.5px/1.45 var(--display)}
.as-duas-tit b{color:var(--marca2);font-weight:600}
.as-duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.as-forma{position:relative;display:flex;flex-direction:column;padding:20px 22px 22px;
  border:1px solid var(--borda2);border-radius:var(--raio);background:rgba(11,21,18,.55)}
.as-forma.atual{border-color:rgba(31,191,107,.55);
  background:linear-gradient(180deg,rgba(31,191,107,.09),rgba(11,21,18,.55) 62%);box-shadow:inset 0 2px 0 var(--marca)}
.as-forma-tag{margin-bottom:9px;color:var(--fraco2);font:600 10px/1 var(--display);letter-spacing:.16em}
.as-forma.atual .as-forma-tag{color:var(--marca2)}
.as-forma h2{margin:0 0 4px;color:var(--texto);font:600 23px/1.2 var(--display);letter-spacing:-.01em}
.as-forma h2 small{color:var(--fraco);font:500 15px/1.2 var(--display);letter-spacing:0}
.as-forma-para{margin:0 0 13px;color:var(--fraco);font-size:14.5px}
.as-forma-para b{color:var(--texto);font-weight:600}
.as-forma ul{display:grid;gap:7px;margin:0 0 18px;padding:0;list-style:none}
.as-forma li{position:relative;padding-left:18px;color:var(--fraco);font-size:13.5px;line-height:1.5}
.as-forma li::before{content:'';position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--fraco2)}
.as-forma.atual li::before{background:var(--marca)}
.as-forma .botao{align-self:flex-start;margin-top:auto}
@media (max-width:760px){ .as-duas{grid-template-columns:1fr} .as-forma .botao{align-self:stretch;text-align:center} }

/* == TRILHA DAS ETAPAS ==================================================== */
.as-trilha{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:34px 0 16px;padding:0;list-style:none}
.as-trilha li{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 4px 0;border-top:2px solid var(--borda2);
  color:var(--fraco2);font-size:13.5px;transition:color .2s,border-color .2s}
.as-trilha li > span{flex:none;display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--borda2);border-radius:50%;
  font:600 12px/1 var(--dado)}
.as-trilha li b{overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.as-trilha li.ativo{border-top-color:var(--marca);color:var(--texto)}
.as-trilha li.ativo > span{border-color:var(--marca);background:var(--marca);color:#04150d}
.as-trilha li.feito{border-top-color:rgba(31,191,107,.42);color:var(--fraco)}
.as-trilha li.feito > span{border-color:var(--marca);color:var(--marca2)}
@media (max-width:700px){
  .as-trilha{gap:4px;margin-top:26px}
  .as-trilha li{flex-direction:column;gap:5px;padding-top:8px;text-align:center;font-size:11.5px}
  .as-trilha li b{max-width:100%}
  .as-some{display:none}
}

/* == OFICINA: prévia à esquerda, etapas à direita ========================= */
.as-oficina{display:grid;grid-template-columns:minmax(0,1fr) 384px;column-gap:22px;row-gap:12px;align-items:start;
  grid-template-areas:"palco p1" "palco p2" "palco p3" "palco p4" "palco p5" "palco ."}
.as-p1{grid-area:p1}.as-p2{grid-area:p2}.as-p3{grid-area:p3}.as-p4{grid-area:p4}.as-p5{grid-area:p5}
.as-palco-caixa{grid-area:palco;position:sticky;top:12px;align-self:start}
@media (max-width:1279px){
  .as-oficina{grid-template-columns:minmax(0,1fr);grid-template-areas:"p1" "p2" "palco" "p3" "p4" "p5"}
  .as-palco-caixa{position:static}
}

/* == CARTÃO DE ETAPA ====================================================== */
.as-cartao{min-width:0;padding:16px 18px 18px;border:1px solid var(--borda);border-radius:var(--raio);
  background:rgba(11,21,18,.62);transition:border-color .2s,opacity .2s,box-shadow .2s}
.as-cartao[data-estado="ativo"]{border-color:rgba(31,191,107,.5);box-shadow:inset 2px 0 0 var(--marca)}
.as-cartao[data-estado="espera"]{opacity:.7}
.as-cartao-topo{display:flex;align-items:flex-start;gap:12px;margin-bottom:13px}
.as-num{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--borda2);border-radius:50%;
  color:var(--fraco);font:600 13px/1 var(--dado)}
.as-cartao[data-estado="ativo"] .as-num{border-color:var(--marca);background:var(--marca);color:#04150d}
.as-cartao[data-estado="feito"] .as-num{border-color:var(--marca);background:rgba(31,191,107,.12);color:var(--marca2)}
.as-cartao h3{margin:1px 0 2px;color:var(--texto);font:600 16.5px/1.25 var(--display)}
.as-cartao-topo p{margin:0;color:var(--fraco);font-size:13px;line-height:1.45}

.as-soltar{position:relative;display:flex;align-items:center;gap:13px;padding:16px;border:1px dashed var(--borda2);border-radius:9px;
  background:rgba(5,10,8,.45);cursor:pointer;transition:border-color .15s,background .15s}
.as-soltar:hover,.as-soltar.sobre{border-color:var(--marca);background:rgba(31,191,107,.06)}
.as-soltar input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.as-soltar-ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;
  background:rgba(63,217,200,.08);color:var(--menta)}
.as-soltar-ico svg{width:22px;height:22px}
.as-soltar-txt{min-width:0}
.as-soltar-txt strong{display:block;overflow:hidden;color:var(--texto);font:600 14.5px/1.3 var(--display);white-space:nowrap;text-overflow:ellipsis}
.as-soltar-txt small{display:block;margin-top:2px;color:var(--fraco2);font-size:12.5px;line-height:1.4}
.as-soltar-mini{padding:11px 13px}
.as-soltar-mini .as-soltar-ico{width:36px;height:36px}
.as-soltar.escolhido{border-style:solid;border-color:rgba(63,217,200,.45)}

.as-arquivo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;
  border:1px solid var(--borda2);border-radius:9px;background:rgba(5,10,8,.55)}
.as-arquivo-ico{padding:8px 6px;border-radius:5px;background:var(--marca2);color:#04150d;font:700 10.5px/1 var(--dado)}
.as-arquivo-txt{min-width:0}
.as-arquivo-txt strong{display:block;overflow:hidden;color:var(--texto);font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.as-arquivo-txt small{display:block;color:var(--fraco2);font:12px/1.4 var(--dado)}

.as-link{padding:4px 2px;border:0;background:none;color:var(--marca2);font:600 12.5px/1.2 var(--display);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px}
.as-link:hover{color:var(--marca3)}
.as-msg{margin:10px 0 0;color:var(--fraco);font-size:13px;line-height:1.5}
.as-msg:empty{display:none}
.as-msg.erro{color:var(--erro);font-weight:600}
.as-msg.ok{color:var(--marca2)}
.as-nota{margin:10px 0 0;color:var(--fraco2);font-size:12.5px;line-height:1.5}
.as-nota:empty{display:none}

/* etapa 2 */
.as-leitura{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--borda2);border-radius:8px;
  background:rgba(5,10,8,.5);color:var(--fraco);font:500 13px/1.4 var(--dado)}
.as-ponto{flex:none;width:9px;height:9px;border-radius:50%;background:var(--fraco2)}
.as-leitura.marcado{border-color:rgba(31,191,107,.5);color:var(--marca3)}
.as-leitura.marcado .as-ponto{background:var(--marca2);box-shadow:0 0 0 4px rgba(76,237,153,.15)}

/* == PALCO: o papel =====================================================*/
.as-palco-caixa{overflow:hidden;border:1px solid var(--borda);border-radius:var(--raio);background:rgba(11,21,18,.5)}
.as-palco-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px 9px 16px;border-bottom:1px solid var(--borda)}
.as-palco-titulo{color:var(--menta);font:600 11.5px/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase}
.as-palco.assinado ~ * .as-palco-titulo{color:var(--marca2)}
.as-paginas{display:flex;align-items:center;gap:8px;color:var(--fraco);font:500 13px/1 var(--dado);white-space:nowrap}
.as-seta{width:34px;height:32px;border:1px solid var(--borda2);border-radius:8px;background:transparent;color:var(--texto);
  font-size:19px;line-height:1;cursor:pointer}
.as-seta:hover:not(:disabled){border-color:var(--marca);color:var(--marca2)}
.as-seta:disabled{opacity:.35;cursor:default}
.as-palco{position:relative;display:grid;place-items:start center;min-height:min(620px,72vh);padding:22px;
  background:linear-gradient(180deg,#0f1c17,#09130f)}
#pdf-canvas{display:block;max-width:100%;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.5);cursor:crosshair}
.as-palco.assinado #pdf-canvas{cursor:default}
.as-palco-vazio{align-self:center;display:grid;justify-items:center;gap:8px;max-width:360px;color:var(--fraco2);text-align:center}
.as-palco-vazio svg{width:54px;height:auto;margin-bottom:6px;color:var(--borda2)}
.as-palco-vazio strong{color:var(--fraco);font:600 16px/1.3 var(--display)}
.as-palco-vazio small{font-size:13px;line-height:1.5}
.as-dica{position:absolute;z-index:3;top:34px;left:50%;padding:7px 11px;border-radius:7px;transform:translateX(-50%);
  background:rgba(236,255,243,.95);color:#10281d;font-size:12.5px;font-weight:600;white-space:nowrap;pointer-events:none;
  box-shadow:0 6px 18px rgba(0,0,0,.25)}
.as-palco-aviso{position:absolute;z-index:4;top:50%;left:50%;width:min(88%,440px);padding:16px 18px;transform:translate(-50%,-50%);
  border:1px solid rgba(63,217,200,.4);border-radius:10px;background:rgba(6,17,13,.96);color:var(--texto);
  font-size:13.5px;line-height:1.5;text-align:center}
.as-palco-aviso.erro{border-color:rgba(255,107,94,.6);color:#ffd4d0}
@media (max-width:700px){ .as-palco{padding:12px;min-height:300px} .as-dica{top:20px;font-size:11.5px}
  .as-palco-barra{padding:8px 10px 8px 12px} .as-palco-titulo{font-size:10.5px;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .as-paginas{gap:6px;font-size:12px} .as-seta{width:30px;height:30px} }

/* Prévia do selo (13/09, visual novo do motor): SELO 320 x 124 pt, degradê floresta -> verde
   na diagonal, moldura dupla, janela branca do QR em x 225 / y 20,5 (73 x 83 pt).
   Tudo em pontos x --s (a escala da página na tela). É só a PRÉVIA do lugar: o selo de
   verdade é desenhado pelo motor do app e aparece na prévia do PDF assinado. */
.as-marca-selo{--s:1;position:absolute;z-index:2;box-sizing:border-box;overflow:hidden;border-radius:calc(5px * var(--s));
  background:linear-gradient(to top right,#041a11 0%,#0b3d29 45%,#1f8f5c 100%);color:#eaf5f0;
  font-family:Helvetica,Arial,sans-serif;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.32)}
.as-marca-selo::before,.as-marca-selo::after{content:"";position:absolute;box-sizing:border-box;pointer-events:none}
.as-marca-selo::before{inset:calc(2.5px * var(--s));border:max(1px,calc(.8px * var(--s))) solid #4ced99;border-radius:calc(6px * var(--s))}
.as-marca-selo::after{inset:calc(10.5px * var(--s));border:max(1px,calc(.45px * var(--s))) solid rgba(76,237,153,.55);border-radius:calc(4px * var(--s))}
.as-marca-texto{position:absolute;left:calc(18px * var(--s));top:calc(16px * var(--s));width:calc(193px * var(--s));bottom:calc(12px * var(--s));
  display:flex;flex-direction:column;gap:calc(2.2px * var(--s));min-width:0;line-height:1.05}
.as-marca-texto b{display:flex;align-items:baseline;gap:calc(6px * var(--s));padding-bottom:calc(4px * var(--s));
  border-bottom:max(1px,calc(.4px * var(--s))) solid rgba(76,237,153,.35);color:#effcf5;font-size:calc(5.6px * var(--s));letter-spacing:.08em;white-space:nowrap}
.as-marca-texto b em{color:#4ced99;font-size:calc(10.5px * var(--s));font-style:normal;font-weight:700;letter-spacing:0}
.as-marca-texto strong{overflow:hidden;margin-top:calc(2px * var(--s));color:#fff;font-size:calc(7.6px * var(--s));white-space:nowrap;text-overflow:ellipsis}
.as-marca-texto small{overflow:hidden;color:#d7f3e5;font-size:calc(5.3px * var(--s));white-space:nowrap;text-overflow:ellipsis}
.as-marca-texto code{align-self:flex-start;margin-top:auto;padding:calc(2px * var(--s)) calc(7px * var(--s));border:max(1px,calc(.6px * var(--s))) solid #4ced99;
  border-radius:999px;color:#4ced99;font-family:Helvetica,Arial,sans-serif;font-size:calc(6.8px * var(--s));font-weight:700;letter-spacing:.03em;white-space:nowrap}
.as-marca-qr{position:absolute;left:calc(225px * var(--s));top:calc(20.5px * var(--s));width:calc(73px * var(--s));height:calc(83px * var(--s));
  display:flex;flex-direction:column;align-items:center;gap:calc(3px * var(--s));box-sizing:border-box;padding-top:calc(5.5px * var(--s));
  background:#fff;outline:max(1px,calc(.55px * var(--s))) solid rgba(76,237,153,.85);outline-offset:calc(6.2px * var(--s))}
.as-marca-qr span{box-sizing:border-box;width:calc(62px * var(--s));height:calc(62px * var(--s));
  background:repeating-conic-gradient(#0c2a1e 0 25%,#fff 0 50%) 0 0/calc(10px * var(--s)) calc(10px * var(--s))}
.as-marca-qr i{color:#12803f;font-size:calc(5px * var(--s));font-style:normal;font-weight:700;letter-spacing:.08em}

/* == ETAPA 3: certificado ================================================= */
.as-cofre{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;margin:0 0 14px;padding:13px 14px;
  border:1px solid rgba(31,191,107,.42);border-left:3px solid var(--marca);border-radius:0 9px 9px 0;background:rgba(31,191,107,.08)}
.as-cofre svg{width:32px;height:32px;color:var(--marca2)}
.as-cofre p{margin:0;color:var(--fraco);font-size:13.5px;line-height:1.55}
.as-cofre b{display:block;margin-bottom:3px;color:var(--marca3);font:600 14.5px/1.4 var(--display)}
#form-certificado .etiq{margin-top:12px}
#form-certificado .etiq:first-child{margin-top:0}
.as-senha{position:relative}
.as-campo{width:100%;padding:12px 78px 12px 14px;border:1px solid var(--borda2);border-radius:9px;background:rgba(5,10,8,.72);
  color:var(--texto);font:500 15px/1.3 var(--dado);letter-spacing:.04em;transition:border-color .18s,box-shadow .18s}
.as-campo::placeholder{color:var(--fraco2);letter-spacing:.02em}
.as-campo:focus{border-color:var(--marca);outline:none;box-shadow:0 0 0 3px rgba(31,191,107,.16)}
.as-senha .as-link{position:absolute;top:50%;right:10px;transform:translateY(-50%)}
#abrir-certificado{margin-top:12px}

.as-cert{padding:13px 14px 12px;border:1px solid rgba(63,217,200,.35);border-left:3px solid var(--menta);border-radius:0 9px 9px 0;
  background:rgba(63,217,200,.06)}
.as-cert-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.as-cert-tag{color:var(--menta);font:600 10px/1 var(--display);letter-spacing:.14em}
.as-cert > strong{display:block;color:var(--texto);font:600 15.5px/1.3 var(--display);overflow-wrap:anywhere}
.as-cert > small{display:block;margin-top:2px;color:var(--fraco);font:13px/1.4 var(--dado);overflow-wrap:anywhere}
.as-cert dl{display:grid;gap:5px;margin:10px 0 0}
.as-cert dl div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px}
.as-cert dt{padding-top:2px;color:var(--fraco2);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.as-cert dd{margin:0;color:var(--texto);font-size:13px;overflow-wrap:anywhere}
.as-cert-nota{margin:10px 0 0;padding-top:9px;border-top:1px solid rgba(63,217,200,.18);color:var(--fraco2);font-size:12px;line-height:1.45}
.as-cert-nota:empty{display:none}
.as-token{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--borda);color:var(--fraco);font-size:13px;line-height:1.55}
.as-token b{color:var(--texto);font-weight:600}
.as-token a{color:var(--marca2);font-weight:600;text-decoration:none;white-space:nowrap}
.as-token a:hover{text-decoration:underline}

/* == ETAPA 4 ============================================================== */
.as-conferir{display:grid;gap:7px;margin:0 0 14px;padding:0;list-style:none}
.as-conferir li{display:flex;align-items:center;gap:9px;color:var(--fraco2);font-size:13.5px}
.as-conferir li::before{content:'';flex:none;width:17px;height:17px;box-sizing:border-box;border:1.5px solid var(--borda2);border-radius:50%}
.as-conferir li.ok{color:var(--texto)}
.as-conferir li.ok::before{border-color:var(--marca);background:var(--marca) 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.6' fill='none' stroke='%2304150d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.as-assinar{padding:15px 22px;font-size:15.5px}

/* == ETAPA 5 ============================================================== */
.as-espera{margin:0;color:var(--fraco2);font-size:13px}
.as-pilula{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border:1px solid rgba(31,191,107,.5);border-radius:999px;
  background:rgba(31,191,107,.13);color:var(--marca2);font:700 11px/1 var(--display);letter-spacing:.12em}
.as-pilula::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--marca2);box-shadow:0 0 0 3px rgba(76,237,153,.2)}
.as-fatos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:14px 0 16px}
.as-fatos .largo{grid-column:1/-1}
.as-fatos dt{margin-bottom:3px;color:var(--fraco2);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.as-fatos dd{margin:0;color:var(--texto);font:500 14px/1.35 var(--dado);overflow-wrap:anywhere}
.as-fatos dd.as-codigo{color:var(--marca3);font-size:17px;letter-spacing:.04em}
.as-fatos dd.as-hash{display:flex;flex-wrap:wrap;gap:0 7px;color:var(--fraco);font-size:12px;letter-spacing:.03em}
.as-registrar{margin-top:10px}
.as-registro{margin-top:12px;padding:12px 13px;border-left:3px solid var(--marca);border-radius:0 8px 8px 0;background:rgba(31,191,107,.07);
  color:var(--fraco);font-size:13px;line-height:1.55}
.as-registro.erro{border-left-color:var(--erro);background:rgba(255,107,94,.07)}
.as-registro.aviso{border-left-color:var(--alerta);background:rgba(255,179,71,.07)}
.as-registro > strong{display:block;margin-bottom:4px;color:var(--texto);font:600 14px/1.35 var(--display)}
.as-registro.erro > strong{color:var(--erro)}
.as-registro p{margin:0}
.as-registro p + p{margin-top:4px}
.as-registro b{color:var(--texto);font-weight:600}
.as-registro code{color:var(--marca3);font:12px/1.5 var(--dado);overflow-wrap:anywhere}
.as-verificacao{display:inline-block;margin-top:13px;color:var(--marca2);font:600 14px/1.3 var(--display);text-decoration:none}
.as-verificacao:hover{text-decoration:underline}
.as-verificacao[aria-disabled="true"]{color:var(--fraco2);cursor:not-allowed;text-decoration:none}
.as-outro{display:block;margin-top:14px}

/* == LIMITES ============================================================== */
.as-limites{margin-top:44px}
.as-limites-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.as-limites-grade h3{margin:0 0 6px;color:var(--texto);font:600 15px/1.3 var(--display)}
.as-limites-grade p{margin:0;color:var(--fraco);font-size:13.5px;line-height:1.6}
.as-limites-grade a{color:var(--marca2)}
@media (max-width:1000px){ .as-limites-grade{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .as-limites-grade{grid-template-columns:1fr;gap:16px} }

/* == RODAPÉ =============================================================== */
.as-rodape{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;margin:46px 0 0;padding:14px 0 28px;border-top:1px solid var(--borda);
  color:var(--fraco2);font-size:12px}
.as-rodape a{color:var(--fraco);font-weight:600;text-decoration:none}
.as-rodape a:hover{color:var(--marca2)}
.as-rodape .cnpj{margin-left:auto}
@media (max-width:560px){ .as-rodape .cnpj{width:100%;margin-left:0} }

/* == VÉU: o trabalho pesado (abrir certificado, assinar) ================== */
.as-veu{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(5,10,8,.82);backdrop-filter:blur(3px)}
.as-veu .inf-loader.grande{color:var(--texto);font-family:var(--display);font-size:15.5px}
.as-veu small{display:block;margin-top:4px;color:var(--fraco2);font-family:var(--corpo);font-size:12.5px}
.as-registro .as-entrar-registro{margin-top:12px;text-align:center;text-decoration:none}

/* == CONTA (15/09): assinar = registrar, então a conta vem antes de tudo ===== */
.as-conta{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 0 14px;padding:14px 18px;
  border:1px solid var(--borda2);border-left:3px solid var(--fraco2);border-radius:0 var(--raio) var(--raio) 0;background:rgba(11,21,18,.62)}
.as-conta-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:rgba(63,217,200,.08);color:var(--menta)}
.as-conta-ico svg{width:22px;height:22px}
.as-conta-txt{min-width:0}
.as-conta-txt strong{display:block;color:var(--texto);font:600 15px/1.35 var(--display)}
.as-conta-txt p{margin:2px 0 0;color:var(--fraco);font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.as-conta-txt b{color:var(--texto);font-weight:600}
.as-conta-acoes{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.as-conta-acoes .botao{text-decoration:none;white-space:nowrap}
.as-conta[data-estado="fora"],.as-conta[data-estado="expirou"]{border-color:rgba(255,179,71,.45);border-left-color:var(--alerta);background:rgba(255,179,71,.07)}
.as-conta[data-estado="fora"] .as-conta-ico,.as-conta[data-estado="expirou"] .as-conta-ico{background:rgba(255,179,71,.12);color:var(--alerta)}
.as-conta[data-estado="erro"],.as-conta[data-estado="sem-motor"]{border-color:rgba(255,107,94,.5);border-left-color:var(--erro);background:rgba(255,107,94,.06)}
.as-conta[data-estado="dentro"]{border-color:rgba(31,191,107,.42);border-left-color:var(--marca);background:rgba(31,191,107,.07)}
.as-conta[data-estado="dentro"] .as-conta-ico{background:rgba(31,191,107,.14);color:var(--marca2)}
@media (max-width:700px){
  .as-conta{grid-template-columns:34px minmax(0,1fr);padding:13px 14px}
  .as-conta-ico{width:34px;height:34px}
  .as-conta-acoes{grid-column:1/-1;align-items:stretch}
  .as-conta-acoes .botao{text-align:center}
  .as-conta-acoes .as-link{align-self:center}
}
.as-cert-conta{margin:0 0 12px;padding:9px 12px;border-left:3px solid var(--alerta);border-radius:0 8px 8px 0;
  background:rgba(255,179,71,.07);color:var(--texto);font-size:13px;line-height:1.5}
#form-certificado:has(input:disabled) .as-soltar,.as-soltar:has(input:disabled){cursor:not-allowed;opacity:.55}
#form-certificado:has(input:disabled) .as-soltar input,.as-soltar input:disabled{cursor:not-allowed}
.as-soltar:has(input:disabled):hover{border-color:var(--borda2);background:transparent}
.as-p1 .as-cert-conta{margin:12px 0 0}
.as-imprimir{padding-left:10px;border-left:2px solid var(--borda2)}
.as-registro + .as-baixar,.as-registrar + .as-baixar{margin-top:12px}
.as-registro:not([hidden]) ~ .as-baixar:disabled{opacity:.4}
