/* =========================================================
   Ravisign - páginas públicas (assinatura e validador)
   Leve e para celular primeiro: só tokens e componentes do d2.css,
   sem a casca do painel. Os dois temas por html[data-theme].
   ========================================================= */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-padding-top: 76px; }   /* foco e rolagem param abaixo do topo fixo */
[hidden] { display: none !important; }

:root {
  --pa-sombra-1: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 1px rgba(15, 23, 42, .03);
  --pa-sombra-2: 0 10px 30px rgba(15, 23, 42, .08), 0 2px 6px rgba(15, 23, 42, .04);
  --pa-tinta: rgba(16, 185, 129, .1);
  --pa-tinta-borda: rgba(16, 185, 129, .3);
  --pa-primario: #047857;
  --pa-primario-hover: #065f46;
  --pa-ok: #047857;
  --pa-atencao: #b45309;
  --pa-atencao-tinta: rgba(217, 119, 6, .1);
  --pa-erro: #c02626;
  --d2-brand: #047857;
  --d2-brand-dim: #065f46;
  --d2-bg: #f3f6f8;
  --d2-bg-subtle: #f7f9fa;
  --d2-bg-hover: #edf2f5;
  --d2-border: #e1e7ec;
  --d2-text: #172b3a;
  --d2-text-muted: #526574;
  --d2-text-faint: #657583;
  color-scheme: light;
}
html[data-theme="dark"] {
  --pa-sombra-1: 0 1px 2px rgba(0, 0, 0, .4);
  --pa-sombra-2: 0 14px 34px rgba(0, 0, 0, .45);
  --pa-tinta: rgba(16, 185, 129, .13);
  --pa-tinta-borda: rgba(16, 185, 129, .34);
  --pa-ok: #34d399;
  --pa-atencao: #fbbf24;
  --pa-atencao-tinta: rgba(251, 191, 36, .12);
  --pa-erro: #f87171;
  --d2-brand: #34d399;
  --d2-brand-dim: #10b981;
  --d2-text-faint: #94a3b8;
  color-scheme: dark;
}
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--d2-brand); outline-offset: 3px; }

body.pa-corpo {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--d2-bg);
  color: var(--d2-text);
  font-family: var(--d2-font-sans);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent;
}
a { color: var(--d2-brand); }

/* ---------------- Botões ---------------- */
.d2-btn { justify-content: center; cursor: pointer; font-family: inherit; text-decoration: none; }
.d2-btn-primary { background: var(--pa-primario); border-color: var(--pa-primario); color: #fff; }
.d2-btn-primary:hover { background: var(--pa-primario-hover); border-color: var(--pa-primario-hover); color: #fff; box-shadow: 0 3px 12px rgba(16, 185, 129, .35); }
.d2-btn-primary:disabled:hover { background: var(--pa-primario); box-shadow: none; }
.pa-btn-grande { min-height: 48px; padding: 11px 20px; font-size: 15.5px; font-weight: 600; border-radius: 10px; }
.pa-btn-medio { min-height: 42px; padding: 9px 16px; font-size: 14.5px; border-radius: 9px; }
.pa-btn-grande svg, .pa-btn-medio svg { width: 18px; height: 18px; flex: none; }
.d2-btn-loading { position: relative; color: transparent !important; pointer-events: none; }
.d2-btn-loading > * { visibility: hidden; }
.d2-btn-loading::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px;
  border: 2.5px solid rgba(255, 255, 255, .45); border-top-color: #fff; border-radius: 50%;
  animation: d2-spin .75s linear infinite;
}
.d2-btn:not(.d2-btn-primary).d2-btn-loading::after { border-color: var(--d2-border-strong); border-top-color: var(--d2-brand); }
.pa-link {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 2px; border: 0; background: none;
  color: var(--d2-brand); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none;
}
.pa-link:hover { text-decoration: underline; }
.pa-link:disabled { color: var(--d2-text-faint); cursor: default; text-decoration: none; }
.pa-link svg { width: 16px; height: 16px; }
.pa-link.d2-btn-loading::after { border-color: var(--d2-border-strong); border-top-color: var(--d2-brand); width: 14px; height: 14px; margin: -7px 0 0 -7px; }

/* ---------------- Topo ---------------- */
.pa-topo {
  position: sticky; top: 0; z-index: 30;
  background: color-mix(in srgb, var(--d2-bg-elevated) 92%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(8px); backdrop-filter: saturate(1.4) blur(8px);
  border-bottom: 1px solid var(--d2-border);
}
.pa-topo-dentro {
  max-width: 880px; margin: 0 auto; padding: 10px 16px; min-height: 58px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.pa-marca { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.pa-marca-icone {
  width: 32px; height: 32px; flex: none; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 9px; color: #fff; background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 4px 12px rgba(16, 185, 129, .3);
}
.pa-marca-icone svg { width: 17px; height: 17px; }
.pa-marca-nome { font-size: 17.5px; letter-spacing: -.01em; }
.pa-marca-nome b { font-weight: 750; color: var(--d2-brand); }
.pa-topo-acoes { display: flex; align-items: center; gap: 8px; }
.pa-idiomas {
  display: inline-flex; padding: 3px; gap: 2px; border: 1px solid var(--d2-border); border-radius: 10px;
  background: var(--d2-bg-subtle);
}
.pa-idiomas a {
  min-width: 34px; height: 28px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 7px; font-size: 12px; font-weight: 650; letter-spacing: .03em; color: var(--d2-text-muted); text-decoration: none;
}
.pa-idiomas a:hover { color: var(--d2-text); background: var(--d2-bg-hover); }
.pa-idiomas a.ativo { background: var(--d2-bg-elevated); color: var(--d2-text); box-shadow: var(--pa-sombra-1); }
.pa-tema {
  width: 36px; height: 36px; flex: none; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--d2-border); border-radius: 10px; cursor: pointer;
  background: var(--d2-bg-elevated); color: var(--d2-text-muted);
}
.pa-tema:hover { color: var(--d2-text); border-color: var(--d2-border-strong); }
.pa-tema svg { width: 17px; height: 17px; }
.pa-tema .ico-lua { display: none; }
html[data-theme="dark"] .pa-tema .ico-lua { display: block; }
html[data-theme="dark"] .pa-tema .ico-sol { display: none; }

/* ---------------- Estrutura ---------------- */
.pa-principal { flex: 1; width: 100%; max-width: 880px; margin: 0 auto; padding: 16px 12px 28px; }
.pa-cartao {
  background: var(--d2-bg-elevated); border: 1px solid var(--d2-border); border-radius: 14px;
  box-shadow: var(--pa-sombra-1); padding: 18px 16px;
}
.pa-cartao + .pa-cartao, .pa-etapas + .pa-cartao { margin-top: 12px; }

.pa-remetente { display: flex; align-items: center; gap: 12px; padding: 2px 4px 14px; }
.pa-remetente-logo {
  height: 40px; width: auto; max-width: 140px; object-fit: contain; border-radius: 8px;
  background: #fff; padding: 4px; border: 1px solid var(--d2-border);
}
.pa-remetente-texto { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.pa-remetente-rotulo { font-size: 12px; color: var(--d2-text-faint); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.pa-remetente-nome { font-size: 16px; font-weight: 650; overflow-wrap: anywhere; }

.pa-titulo { margin: 0 0 12px; font-size: 20px; line-height: 1.3; font-weight: 700; letter-spacing: -.01em; overflow-wrap: anywhere; }
.pa-resumo-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pa-resumo-lista li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--d2-text-muted); overflow-wrap: anywhere; }
.pa-resumo-lista svg { width: 17px; height: 17px; flex: none; margin-top: 2px; color: var(--d2-text-faint); }
.pa-mascarado { display: block; color: var(--d2-text-faint); font-size: 13px; }
.pa-mensagem { margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: var(--d2-bg-subtle); border-left: 3px solid var(--d2-brand); }
.pa-mensagem-rotulo { display: block; font-size: 12px; font-weight: 650; color: var(--d2-text-faint); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.pa-mensagem p { margin: 0; font-size: 14px; overflow-wrap: anywhere; }

/* ---------------- Etapas ---------------- */
.pa-etapas {
  list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr);
  counter-reset: etapa; position: relative;
}
.pa-etapa { position: relative; display: flex; justify-content: center; }
.pa-etapa:not(:last-child)::after {
  content: ''; position: absolute; top: 17px; left: calc(50% + 22px); right: calc(-50% + 22px); height: 2px;
  background: var(--d2-border); border-radius: 2px;
}
.pa-etapa.feita:not(:last-child)::after { background: var(--d2-brand); }
.pa-etapa-botao {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0 2px; border: 0; background: none;
  font: inherit; color: var(--d2-text-faint); cursor: default; min-width: 0;
}
.pa-etapa-botao:not(:disabled) { cursor: pointer; }
.pa-etapa-numero {
  width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  border: 2px solid var(--d2-border-strong); background: var(--d2-bg-elevated); font-weight: 700; font-size: 14px;
  transition: background .2s, border-color .2s, color .2s;
}
.pa-etapa-ok { display: none; }
.pa-etapa-ok svg { width: 17px; height: 17px; }
.pa-etapa-rotulo { font-size: 12px; font-weight: 600; text-align: center; line-height: 1.25; overflow-wrap: anywhere; }
.pa-etapa.atual .pa-etapa-numero { border-color: var(--d2-brand); color: var(--d2-brand); background: var(--pa-tinta); box-shadow: 0 0 0 4px var(--pa-tinta); }
.pa-etapa.atual .pa-etapa-rotulo { color: var(--d2-text); }
.pa-etapa.feita .pa-etapa-numero { border-color: var(--pa-primario); background: var(--pa-primario); color: #fff; }
.pa-etapa.feita .pa-etapa-n { display: none; }
.pa-etapa.feita .pa-etapa-ok { display: inline-flex; }
.pa-etapa.feita .pa-etapa-rotulo { color: var(--d2-text-muted); }
.pa-etapa-botao:not(:disabled):hover .pa-etapa-rotulo { color: var(--d2-text); text-decoration: underline; }

/* ---------------- Painéis ---------------- */
.pa-painel-titulo { margin: 0 0 6px; font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.pa-painel-texto { margin: 0 0 16px; color: var(--d2-text-muted); font-size: 14.5px; }
.pa-subtitulo { margin: 22px 0 10px; font-size: 15px; font-weight: 700; }
.pa-acoes { display: flex; flex-direction: column-reverse; gap: 10px; margin-top: 20px; }
.pa-acoes .d2-btn { width: 100%; }
.pa-btn-recusar, .pa-btn-voltar { min-height: 44px; font-size: 14.5px; border-radius: 10px; color: var(--d2-text-muted); }
.pa-btn-recusar:hover { color: var(--pa-erro); border-color: var(--pa-erro); background: transparent; }

/* ---------------- Visor do documento ---------------- */
.pa-visor { position: relative; border: 1px solid var(--d2-border); border-radius: 12px; overflow: hidden; background: var(--d2-bg-subtle); }
.pa-visor iframe { display: block; width: 100%; height: min(74vh, 860px); border: 0; background: #525659; }
.pa-visor-esqueleto { display: none; padding: 26px 22px; gap: 12px; flex-direction: column; height: 260px; }
.pa-visor-esqueleto span {
  display: block; height: 12px; border-radius: 6px;
  background: linear-gradient(90deg, var(--d2-bg-hover) 0%, var(--d2-border) 50%, var(--d2-bg-hover) 100%);
  background-size: 200% 100%; animation: pa-brilho 1.3s ease-in-out infinite;
}
.pa-visor-esqueleto span:nth-child(1) { width: 55%; height: 18px; margin-bottom: 8px; }
.pa-visor-esqueleto span:nth-child(3) { width: 92%; }
.pa-visor-esqueleto span:nth-child(4) { width: 80%; }
.pa-visor-esqueleto span:nth-child(5) { width: 64%; }
@keyframes pa-brilho { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
.pa-visor[data-estado="carregando"] .pa-visor-esqueleto,
.pa-visor[data-estado="iframe-carregando"] .pa-visor-esqueleto { display: flex; }
.pa-visor[data-estado="carregando"] .pa-visor-cartao,
.pa-visor[data-estado^="iframe"] .pa-visor-cartao { display: none; }
.pa-visor[data-estado="iframe-carregando"] iframe { position: absolute; opacity: 0; pointer-events: none; }
.pa-visor-cartao { padding: 26px 18px 22px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.pa-visor-icone {
  width: 56px; height: 56px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--pa-tinta); color: var(--d2-brand); margin-bottom: 12px;
}
.pa-visor-icone svg { width: 28px; height: 28px; }
.pa-visor-nome { font-weight: 650; font-size: 15px; overflow-wrap: anywhere; }
.pa-visor-detalhe { font-size: 13px; color: var(--d2-text-faint); margin-top: 2px; }
.pa-visor-texto { margin: 12px 0 16px; font-size: 14px; color: var(--d2-text-muted); max-width: 440px; }
.pa-visor-acoes { display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 360px; }
.pa-visor-rodape { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: flex-end; margin-top: 8px; }
.pa-visor-rodape a { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; text-decoration: none; }
.pa-visor-rodape a:hover { text-decoration: underline; }
.pa-visor-rodape svg { width: 16px; height: 16px; }

/* ---------------- Código ---------------- */
.pa-codigo-envio .d2-btn { width: 100%; }
.pa-codigo-enviado { margin: 0 0 12px; font-size: 14px; color: var(--d2-text-muted); }
.pa-codigo-enviado:empty { display: none; }
.pa-codigo-form .d2-label { font-size: 13px; }
.pa-codigo-campo {
  font-family: var(--d2-font-mono); font-size: 26px; font-weight: 600; letter-spacing: .5em; text-align: center;
  padding: 12px 10px 12px calc(10px + .5em); height: 58px; border-radius: 10px;
}
.pa-codigo-campo::placeholder { color: var(--d2-text-faint); }
.pa-codigo-dica { font-size: 13px; text-align: center; }
.pa-codigo-dica.erro { color: var(--pa-erro); }
.pa-codigo-form > .d2-btn { width: 100%; margin-top: 4px; }
.pa-codigo-reenvio { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.pa-codigo-espera { font-size: 13.5px; color: var(--d2-text-faint); font-variant-numeric: tabular-nums; }
.pa-codigo-aviso { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--pa-atencao-tinta); color: var(--d2-text); font-size: 13.5px; }
.pa-codigo-ok {
  display: flex; align-items: center; gap: 10px; padding: 14px; border-radius: 12px;
  background: var(--pa-tinta); border: 1px solid var(--pa-tinta-borda); color: var(--d2-text); font-weight: 600;
}
.pa-codigo-ok svg { width: 22px; height: 22px; color: var(--pa-ok); flex: none; }

/* ---------------- Aceite, rubrica, localização ---------------- */
.pa-clausula {
  max-height: 210px; overflow-y: auto; padding: 14px; border-radius: 10px; border: 1px solid var(--d2-border);
  background: var(--d2-bg-subtle); font-size: 14px; color: var(--d2-text); line-height: 1.6;
}
.d2-check.pa-aceite, .d2-check.pa-geo { display: flex; align-items: flex-start; gap: 11px; margin-top: 14px; font-size: 14.5px; line-height: 1.45; position: relative; }
.pa-aceite .d2-check-box, .pa-geo .d2-check-box { width: 22px; height: 22px; border-radius: 6px; margin-top: -1px; background: var(--d2-bg-elevated); }
.pa-aceite input:checked + .d2-check-box::after, .pa-geo input:checked + .d2-check-box::after { left: 7px; top: 3px; width: 6px; height: 11px; }
.pa-aceite.pendente .d2-check-box { border-color: var(--pa-erro); box-shadow: 0 0 0 3px rgba(210, 57, 57, .14); }
.pa-check-dica { margin: 6px 0 0 33px; font-size: 13px; color: var(--pa-erro); }
.d2-check input:checked + .d2-check-box { background: var(--pa-primario); border-color: var(--pa-primario); }

.pa-abas { display: inline-flex; padding: 3px; gap: 3px; border-radius: 10px; background: var(--d2-bg-subtle); border: 1px solid var(--d2-border); margin-bottom: 10px; }
.pa-aba {
  min-height: 36px; padding: 6px 16px; border: 0; border-radius: 8px; background: none; font: inherit; font-size: 14px; font-weight: 600;
  color: var(--d2-text-muted); cursor: pointer;
}
.pa-aba.ativa { background: var(--d2-bg-elevated); color: var(--d2-text); box-shadow: var(--pa-sombra-1); }
.pa-tela-rubrica {
  position: relative; height: 180px; border-radius: 12px; border: 1.5px dashed var(--d2-border-strong);
  background: #fff; touch-action: none; overflow: hidden;
}
.pa-tela-rubrica.erro { border-color: var(--pa-erro); }
.pa-tela-rubrica canvas { position: absolute; inset: 0; width: 100%; height: 100%; cursor: crosshair; touch-action: none; }
.pa-tela-dica { position: absolute; left: 0; right: 0; top: 42%; text-align: center; color: #8a99a6; font-size: 14px; pointer-events: none; }
.pa-tela-linha { position: absolute; left: 22px; right: 22px; bottom: 44px; border-bottom: 1px solid #d3dbe2; pointer-events: none; }
.pa-limpar { margin-top: 4px; }
.pa-previa {
  min-height: 92px; display: flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 12px;
  border: 1.5px dashed var(--d2-border-strong); background: #fff; color: #172b3a;
  font-family: 'Liberation Serif', 'DejaVu Serif', Georgia, 'Times New Roman', serif; font-style: italic; font-size: 34px;
  overflow-wrap: anywhere; text-align: center; line-height: 1.2;
}
.pa-previa:empty::before { content: attr(data-vazio); font-family: var(--d2-font-sans); font-style: normal; font-size: 14px; color: #8a99a6; }
.pa-geo-dica { margin: 6px 0 0 33px; font-size: 13px; color: var(--d2-text-faint); }
.pa-geo-dica.ok { color: var(--pa-ok); }
.pa-geo-dica.aviso { color: var(--pa-atencao); }
.pa-acoes-assinar { margin-top: 24px; }
.pa-btn-assinar { min-height: 54px; font-size: 17px; }
.pa-btn-assinar svg { width: 20px; height: 20px; }

/* ---------------- Estados e conclusão ---------------- */
.pa-estado, .pa-conclusao { text-align: center; padding: 30px 18px 26px; }
.pa-estado-icone {
  width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: var(--d2-bg-subtle); color: var(--d2-text-muted); border: 1px solid var(--d2-border);
}
.pa-estado-icone svg { width: 32px; height: 32px; }
.pa-tom-sucesso { background: var(--pa-tinta); color: var(--pa-ok); border-color: var(--pa-tinta-borda); }
.pa-tom-atencao { background: var(--pa-atencao-tinta); color: var(--pa-atencao); border-color: transparent; }
.pa-estado-titulo { margin: 0 0 8px; font-size: 21px; font-weight: 700; letter-spacing: -.01em; }
.pa-estado-texto { margin: 0 auto 8px; max-width: 520px; color: var(--d2-text-muted); font-size: 15px; }
.pa-estado-extra { margin-top: 4px; }
.pa-estado-documento {
  display: inline-flex; align-items: center; gap: 8px; max-width: 100%; margin: 10px auto 0; padding: 8px 12px; border-radius: 10px;
  background: var(--d2-bg-subtle); border: 1px solid var(--d2-border); font-size: 14px; font-weight: 600;
}
.pa-estado-documento svg { width: 16px; height: 16px; flex: none; color: var(--d2-text-faint); }
.pa-estado-documento span { overflow-wrap: anywhere; text-align: left; }
.pa-estado-acoes { display: flex; flex-direction: column; gap: 10px; margin: 22px auto 0; max-width: 380px; }
.pa-progresso {
  display: inline-block; margin: 6px 0 12px; padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 650;
  background: var(--pa-tinta); color: var(--pa-ok);
}
.pa-progresso:empty { display: none; }

/* ---------------- Rodapé ---------------- */
.pa-rodape { max-width: 880px; width: 100%; margin: 0 auto; padding: 4px 18px 26px; text-align: center; font-size: 12.5px; color: var(--d2-text-faint); }
.pa-rodape p { margin: 0 0 4px; }
.pa-rodape-creditos { font-weight: 600; }

/* ---------------- Modal e avisos no celular ---------------- */
.d2-toasts { left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); align-items: center; }
.d2-toast { max-width: 440px; width: 100%; font-size: 14px; padding: 12px 14px; }
.d2-modal .d2-btn { min-height: 42px; padding: 8px 16px; font-size: 14px; }
.pa-modal-texto { margin: 0 0 12px; color: var(--d2-text-muted); font-size: 14px; }
.pa-modal-contador { display: flex; justify-content: space-between; gap: 10px; }
.pa-modal-contador span:last-child { font-variant-numeric: tabular-nums; flex: none; }
.pa-modal-contador .erro { color: var(--pa-erro); font-weight: 600; }
.pa-modal-perigo .d2-modal-head .ic { background: color-mix(in srgb, var(--pa-erro) 13%, transparent); color: var(--pa-erro); }
textarea.pa-motivo { min-height: 110px; font-size: 14.5px; }
/* celular: campo abaixo de 16px faz o iPhone ampliar a tela ao focar */
@media (max-width: 639px) {
  .d2-control:not(.pa-codigo-campo), textarea.pa-motivo { font-size: 16px; }
}

/* ---------------- Telas maiores ---------------- */
@media (min-width: 640px) {
  .pa-principal { padding: 26px 20px 36px; }
  .pa-cartao { padding: 24px 26px; border-radius: 16px; }
  .pa-titulo { font-size: 23px; }
  .pa-etapa-rotulo { font-size: 13px; }
  .pa-acoes { flex-direction: row; justify-content: space-between; align-items: center; }
  .pa-acoes .d2-btn { width: auto; }
  .pa-acoes .pa-btn-grande { min-width: 200px; }
  .pa-acoes .pa-btn-voltar + .pa-btn-grande, .pa-acoes > .pa-btn-grande:only-child { margin-left: auto; }
  .pa-visor-acoes { flex-direction: row; justify-content: center; max-width: none; }
  .pa-codigo-form, .pa-codigo-envio { max-width: 380px; margin-left: auto; margin-right: auto; }
  .pa-codigo-envio .d2-btn { width: 100%; }
  .pa-tela-rubrica { height: 200px; }
  .pa-estado, .pa-conclusao { padding: 44px 32px 36px; }
  .pa-estado-acoes { flex-direction: row; justify-content: center; max-width: none; }
  .d2-toasts { left: auto; right: 18px; bottom: 24px; align-items: flex-end; }
  .d2-toast { width: auto; max-width: 360px; }
}
@media (max-width: 380px) {
  .pa-topo-dentro { padding: 9px 12px; gap: 8px; }
  .pa-marca-nome { font-size: 16px; }
  .pa-idiomas a { min-width: 30px; padding: 0 4px; }
  .pa-etapa-rotulo { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
