:root{--fundo:#f5f6f8;--papel:#fff;--tinta:#13233a;--fraco:#5b6573;--linha:#dde1e6;--destaque:#0b5cad;--ok:#0f766e;--alerta:#9a6200;--erro:#b91c1c;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--fundo:#0d1420;--papel:#141d2b;--tinta:#e6ecf5;--fraco:#a3adbd;--linha:#2a3650;--destaque:#7fb2ff;--ok:#5ec4b3;--alerta:#e8b64c;--erro:#f28b8b;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--tinta);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
header{background:var(--papel);border-bottom:1px solid var(--linha);padding:20px 16px}
header h1{margin:0 0 12px;font-size:22px}
label{display:block;font-size:13px;color:var(--fraco);margin-bottom:4px}
.linha{display:flex;gap:8px;max-width:640px}
input{flex:1;min-width:0;font:inherit;padding:9px 12px;border:1px solid var(--linha);border-radius:6px;background:var(--fundo);color:var(--tinta)}
button{font:inherit;padding:9px 16px;border:0;border-radius:6px;background:var(--destaque);color:#fff;cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--destaque);outline-offset:2px}
main{padding:16px;max-width:1280px;margin:0 auto}
#status{color:var(--fraco);min-height:1.5em}
section,.secao{background:var(--papel);border:1px solid var(--linha);border-radius:8px;padding:16px;margin:0 0 16px}
h2{font-size:17px;margin:0 0 8px}
.sub{font-size:13px;color:var(--fraco);margin:0 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.chip{font-size:13px;border:1px solid var(--linha);border-radius:999px;padding:2px 10px}
.chip.principal{border-color:var(--destaque);color:var(--destaque)}
#indice{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
#indice a{font-size:13px;color:var(--destaque);text-decoration:none;border:1px solid var(--linha);border-radius:6px;padding:4px 8px;background:var(--papel)}
.tabela{overflow:auto;max-height:520px;border:1px solid var(--linha);border-radius:6px}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{padding:6px 10px;border-bottom:1px solid var(--linha);text-align:left;white-space:nowrap;vertical-align:top}
th{position:sticky;top:0;background:var(--papel);font-weight:600}
td.n{text-align:right;font-variant-numeric:tabular-nums}
.vazio{color:var(--fraco);font-size:13px}
.barra{height:8px;border-radius:4px;background:var(--linha);overflow:hidden;margin:8px 0}
.barra>i{display:block;height:100%;background:var(--ok)}
.falha{color:var(--erro)}
details summary{cursor:pointer;color:var(--destaque);font-size:13px}
