/* Portal de Requisições — visual gov.br (DSGov).
   As CORES vêm do preset "govbr" de app/core/brand_theme.py (injetado pela base com nonce);
   aqui só há estrutura, a escala de fonte (a mesma do produto) e nenhuma cor solta. */

/* Rawline 4.020 — a fonte do DSGov (OFL-1.1), servida por nós: nenhum CDN. Registro em
   static/vendor/VERSOES.md e SHA-256 preso em tests/test_vendor_versoes.py. */
@font-face{font-family:"Rawline";font-style:normal;font-weight:400;font-display:swap;src:url("/static/fonts/rawline-400.woff2") format("woff2")}
@font-face{font-family:"Rawline";font-style:normal;font-weight:600;font-display:swap;src:url("/static/fonts/rawline-600.woff2") format("woff2")}
@font-face{font-family:"Rawline";font-style:normal;font-weight:700;font-display:swap;src:url("/static/fonts/rawline-700.woff2") format("woff2")}

:root{
  /* Escala de fonte do produto (mesmos valores de veritas.css). */
  --fs-2xs:.6875rem; --fs-xs:.75rem; --fs-sm:.875rem; --fs-md:1rem;
  --fs-lg:1.25rem; --fs-xl:1.5rem; --fs-2xl:2rem;
  --pt-raio:8px; --pt-pilula:100px; --pt-sombra:0 1px 4px rgb(0 0 0 / .08);
  --pt-largura:1200px; --pt-gutter:16px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-1);color:var(--text);font-family:"Rawline","Raleway",system-ui,sans-serif;font-size:var(--fs-md);line-height:1.6}
a{color:var(--accent)}a:hover{color:var(--accent-3)}
h1{font-size:var(--fs-2xl);line-height:1.25;margin:0 0 12px;color:var(--accent-3)}
h2{font-size:var(--fs-lg);margin:0 0 8px;color:var(--accent-3)}
h3{font-size:var(--fs-md);margin:8px 0 4px;color:var(--accent-3)}
p{margin:0 0 12px}

.pt-faixa{max-width:var(--pt-largura);margin:0 auto;padding:0 var(--pt-gutter);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pt-estreito{display:block;max-width:880px;padding-top:32px;padding-bottom:56px}
.pt-espaco{flex:1}
.pt-pular{position:absolute;left:-9999px}
.pt-pular:focus{left:16px;top:8px;background:var(--panel);padding:8px 12px;z-index:10}

/* Barra do Governo Federal */
.pt-gov{background:var(--panel);border-bottom:1px solid var(--border)}
.pt-gov .pt-faixa{min-height:48px;font-size:var(--fs-sm)}
.pt-govbr{font-weight:700;font-size:var(--fs-lg);letter-spacing:-.5px}
.pt-govbr-gov{color:var(--accent)}
.pt-govbr-ponto{color:var(--warn)}
.pt-govbr-br{color:var(--accent-3)}
.pt-usuario{font-weight:600;color:var(--accent-3)}

/* Cabeçalho com a marca da instância */
.pt-cabecalho{background:var(--panel);box-shadow:0 1px 6px rgb(0 0 0 / .12)}
.pt-cabecalho .pt-faixa{min-height:72px;padding-top:12px;padding-bottom:12px}
.pt-marca{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit}
.pt-marca-logo{height:40px;width:auto;max-width:160px}
.pt-marca-sep{width:1px;height:40px;background:var(--border-2)}
.pt-marca-texto{display:flex;flex-direction:column}
.pt-marca-nome{font-size:var(--fs-lg);font-weight:700;color:var(--accent-3)}
.pt-marca-sub{font-size:var(--fs-sm);color:var(--muted)}

.pt-conteudo{min-height:60vh}

/* Destaque da entrada (azul-marinho do DSGov) */
.pt-destaque{background:var(--accent-3);color:var(--on-accent)}
.pt-destaque-faixa{padding-top:56px;padding-bottom:56px;align-items:center;gap:48px}
.pt-destaque-texto{flex:999 1 480px;min-width:0}
.pt-destaque h1{color:var(--on-accent);font-size:var(--fs-2xl)}
.pt-destaque p{font-size:var(--fs-lg)}
.pt-cartao-entrar{flex:1 1 320px;color:var(--text)}

.pt-cartao{background:var(--panel);border-radius:var(--pt-raio);padding:24px;box-shadow:var(--pt-sombra);margin-top:20px}
.pt-cartao-pendente{border:1px dashed var(--border-2);box-shadow:none}
.pt-aviso{margin-top:0}
.pt-passos{align-items:stretch;padding-top:24px;padding-bottom:40px}
.pt-passos .pt-cartao{flex:1 1 260px}
.pt-passo-num{display:block;font-size:var(--fs-2xl);font-weight:700;color:var(--accent)}

.pt-nota{font-size:var(--fs-xs);color:var(--muted)}
.pt-lead{font-size:var(--fs-md)}
.pt-erro{color:var(--danger);font-weight:600}

/* Botões */
.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 24px;font:inherit;font-size:var(--fs-md);font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer}
.pt-btn-pilula{border-radius:var(--pt-pilula)}
.pt-btn-primario{background:var(--accent);color:var(--on-accent)}
.pt-btn-primario:hover{background:var(--accent-3);color:var(--on-accent)}
.pt-btn-secundario{background:var(--panel);color:var(--accent);border-color:var(--accent)}
.pt-btn-largo{width:100%;margin:8px 0 12px}
.pt-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.pt-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}
.pt-inline{display:inline}

/* Formulários */
.pt-form{display:grid;gap:16px;margin-top:16px}
.pt-campo label{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:6px}
.pt-campo input,.pt-campo select,.pt-campo textarea{width:100%;min-height:44px;border:1px solid var(--muted);border-radius:4px;padding:8px 12px;font:inherit;font-size:var(--fs-md);color:var(--text);background:var(--panel)}
.pt-campo input:focus,.pt-campo select:focus{outline:3px solid var(--accent-2);outline-offset:1px}

/* Etapas e dados */
.pt-etapas{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:var(--fs-sm);color:var(--muted);margin-bottom:20px}
.pt-etapa-feita{color:var(--accent-3);font-weight:600}
.pt-etapa-atual{color:var(--accent);font-weight:700}
.pt-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:12px 0}
.pt-dados dt{font-size:var(--fs-xs);color:var(--muted)}
.pt-dados dd{margin:0;font-weight:600}

/* Rodapé */
.pt-rodape{background:var(--accent-3);color:var(--on-accent);font-size:var(--fs-sm)}
.pt-rodape .pt-faixa{min-height:64px}

@media (max-width:640px){
  .pt-destaque-faixa{padding-top:32px;padding-bottom:32px}
  .pt-marca-sep,.pt-marca-logo{display:none}
}
