/* Identidade visual única do Conversor XML → Excel/PDF (Ases Prime). Usada por todas as páginas públicas. */
:root {
  --bg:#f6f8fb; --card:#fff; --ink:#1b2430; --mute:#5b6675; --line:#dfe5ee;
  --brand:#1f6f43; --brand-d:#175634; --warn:#b3261e;
  --soft:#e7f4ec; --soft-ink:#14532d; --xl:#1f4e78; --new:#1f6f43; --newbg:#e7f4ec;
  --aviso-bg:#fff4d6; --aviso-ink:#8a5a00;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#12161c; --card:#1b212a; --ink:#e8edf3; --mute:#9aa6b5; --line:#2c3541;
    --brand:#3fae74; --brand-d:#5cc58c; --warn:#ff8a80;
    --soft:#183326; --soft-ink:#9be3bc; --xl:#2b5f8f; --new:#2f8f5b; --newbg:#183326;
    --aviso-bg:#3a2f12; --aviso-ink:#ffd98a;
  }
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--bg); color:var(--ink);
       font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
main { width:100%; max-width:980px; margin:0 auto; padding:28px 16px 56px; flex:1; }
main.estreito { max-width:660px; }
a { color:var(--brand); }
h1 { font-size:clamp(1.8rem,4.4vw,2.6rem); line-height:1.12; margin:12px 0 10px; letter-spacing:-.01em; }
h2 { font-size:1.35rem; margin:56px 0 6px; }
.sub { color:var(--mute); margin:0 0 18px; }
.lead { color:var(--mute); font-size:1.1rem; margin:0 0 16px; max-width:680px; }
.mute { color:var(--mute); }
.pequeno { font-size:.86rem; color:var(--mute); }

/* Cabeçalho */
.topo { background:var(--card); border-bottom:1px solid var(--line); }
.topo-in { max-width:980px; margin:0 auto; padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:10px 18px; flex-wrap:wrap; }
.marca { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:700; line-height:1.15; }
.marca .logo { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--brand); color:#fff; font-size:.78rem; letter-spacing:.03em; }
.marca small { display:block; font-weight:500; color:var(--mute); font-size:.75rem; }
.topo nav { display:flex; gap:2px; flex-wrap:wrap; }
.topo nav a { padding:7px 12px; border-radius:9px; text-decoration:none; color:var(--mute); font-weight:600; font-size:.92rem; }
.topo nav a:hover, .topo nav a.on { background:var(--soft); color:var(--ink); }
.topo nav a.apoie { background:var(--brand); color:#fff; }
.topo nav a.apoie:hover, .topo nav a.apoie.on { background:var(--brand-d); color:#fff; }

/* Componentes */
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; }
.badge { display:inline-flex; gap:8px; align-items:center; background:var(--soft); color:var(--soft-ink); border-radius:999px; padding:5px 14px; font-size:.86rem; font-weight:600; }
.badge i { width:8px; height:8px; border-radius:50%; background:var(--brand); display:inline-block; }
button, a.btn { font:inherit; font-weight:600; border:0; border-radius:10px; padding:12px 22px; background:var(--brand); color:#fff; cursor:pointer; text-decoration:none; display:inline-block; }
button:hover, a.btn:hover { background:var(--brand-d); color:#fff; }
button:disabled { opacity:.55; cursor:wait; }
button.ghost, a.btn.ghost { background:transparent; color:var(--brand); border:1px solid var(--brand); }
button.ghost:hover, a.btn.ghost:hover { background:var(--soft); color:var(--brand); }
label { display:block; font-size:.85rem; color:var(--mute); margin-bottom:4px; }
input[type=text], input[type=email] { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--ink); font:inherit; }
input:focus-visible, button:focus-visible, a:focus-visible, summary:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.aviso { background:var(--aviso-bg); color:var(--aviso-ink); border-radius:10px; padding:12px 16px; font-size:.92rem; margin:16px 0; }
.aviso b { color:inherit; }
.destaque-info { background:var(--soft); color:var(--soft-ink); border:1px solid color-mix(in srgb, var(--brand) 30%, transparent); border-radius:12px; padding:14px 18px; }
.destaque-info b { color:inherit; }
details { border-bottom:1px solid var(--line); padding:12px 0; }
summary { cursor:pointer; font-weight:600; }
details p { color:var(--mute); margin:8px 0 0; }

/* Rodapé */
.rodape { background:var(--card); border-top:1px solid var(--line); color:var(--mute); font-size:.85rem; }
.rodape-in { max-width:980px; margin:0 auto; padding:22px 16px; }
.rodape p { margin:0 0 6px; }
.rodape a { color:var(--ink); }

@media (max-width: 560px) {
  .topo nav a { padding:6px 9px; font-size:.86rem; }
}

/* Rodape com links de navegacao (conversores e guias) */
.rodape-nav { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:18px 28px; margin:0 0 18px; padding:0 0 16px; border-bottom:1px solid var(--line); }
.rodape-nav b { display:block; color:var(--ink); margin-bottom:6px; }
.rodape-nav ul { list-style:none; margin:0; padding:0; }
.rodape-nav li { margin:3px 0; }
.rodape-nav a { color:var(--mute); text-decoration:none; }
.rodape-nav a:hover { color:var(--brand); text-decoration:underline; }
