:root{--ouro:#cc903f;--ouro-esc:#a8742e;--texto:#1d1d1f;--suave:#6b6b70;--linha:#e7e3dc;--fundo:#faf8f5;--branco:#fff;--verde:#1f7a3f;--verde-f:#e6f4ea;--verm:#b3261e;--verm-f:#fdecea;--amar:#8a5a00;--amar-f:#fff4dc;--cinza-f:#f0efed;--raio:10px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Red Hat Display",system-ui,sans-serif;color:var(--texto);background:var(--fundo);line-height:1.45;min-height:100vh;display:flex;flex-direction:column}
.topo{background:var(--branco);border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:12px;padding:8px 16px;flex-wrap:wrap}
.topo__logo img{height:44px;width:auto;display:block}
.topo__titulo{font-weight:700;color:var(--ouro-esc)}
.topo__usuario{margin-left:auto;color:var(--suave);font-size:.9rem}
.link{background:none;border:0;color:var(--ouro-esc);font:inherit;font-weight:700;cursor:pointer;padding:6px}
.conteudo{flex:1;width:100%;max-width:960px;margin:0 auto;padding:16px}
.rodape{text-align:center;color:var(--suave);font-size:.8rem;padding:16px}
h1{font-size:1.4rem;margin:.2em 0 .6em}h2{font-size:1.15rem;margin:1.2em 0 .5em}h3{font-size:1rem;margin:0 0 .3em}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:16px;margin-bottom:12px}
.login{max-width:400px;margin:24px auto}
label{display:block;font-weight:500;margin:12px 0 4px}
input{width:100%;font:inherit;padding:12px;border:1px solid #cfc9bf;border-radius:8px;background:#fff}
input:focus{outline:2px solid var(--ouro);border-color:var(--ouro)}
.botao{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--ouro);color:#fff;border:0;border-radius:8px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.botao:hover{background:var(--ouro-esc)}.botao[disabled]{opacity:.6;cursor:wait}
.botao--largo{width:100%;margin-top:16px}
.botao--sec{background:var(--branco);color:var(--ouro-esc);border:1px solid var(--ouro)}
.botao--sec:hover{background:var(--fundo)}
.botao--peq{padding:6px 10px;font-size:.85rem}
.erro{background:var(--verm-f);color:var(--verm);border-radius:8px;padding:10px 12px;margin-top:12px}
.ok{background:var(--verde-f);color:var(--verde);border-radius:8px;padding:10px 12px;margin-top:12px}
.dica{color:var(--suave);font-size:.88rem}
.abas{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--linha);margin-bottom:12px;scrollbar-width:none}
.abas button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 12px;font:inherit;font-weight:700;color:var(--suave);cursor:pointer;white-space:nowrap}
.abas button[aria-selected=true]{color:var(--ouro-esc);border-bottom-color:var(--ouro)}
.subabas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.subabas button{background:var(--branco);border:1px solid var(--linha);border-radius:999px;padding:6px 12px;font:inherit;font-size:.9rem;cursor:pointer}
.subabas button[aria-pressed=true]{background:var(--ouro);border-color:var(--ouro);color:#fff}
.resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}
.resumo .cartao{margin:0}.resumo strong{display:block;font-size:1.35rem}
.item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.item__info{flex:1;min-width:200px}
.item__valor{font-weight:700;font-size:1.1rem;white-space:nowrap}
.meta{color:var(--suave);font-size:.88rem}
.selo{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;margin-left:6px;vertical-align:middle}
.selo--pago{background:var(--verde-f);color:var(--verde)}.selo--vencido{background:var(--verm-f);color:var(--verm)}
.selo--aberto{background:var(--amar-f);color:var(--amar)}.selo--neutro{background:var(--cinza-f);color:var(--suave)}
.linha-dig{font-family:ui-monospace,Menlo,monospace;font-size:.82rem;word-break:break-all;background:var(--fundo);border-radius:6px;padding:8px;margin-top:8px}
.acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.tabela{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:8px}
.tabela td{padding:4px 0;border-bottom:1px dashed var(--linha)}.tabela td:last-child{text-align:right;white-space:nowrap}
.vazio{color:var(--suave);text-align:center;padding:24px 8px}
.carregando{color:var(--suave);text-align:center;padding:32px}
.filtro{margin-bottom:12px}.filtro select{font:inherit;padding:8px;border-radius:8px;border:1px solid #cfc9bf;background:#fff;max-width:100%}
@media (max-width:520px){.topo__usuario{display:none}.item__valor{font-size:1rem}}
