:root{
  --ground:#F3F5F2; --surface:#FFFFFF; --ink:#16232B; --muted:#5B6A70; --line:#D9E0DC;
  --accent:#0E6B4F; --accent-soft:#E1F0EA; --urna:#20292E;
  --ok:#1D7A4E; --ok-bg:#E3F3EA; --warn:#9A5B00; --warn-bg:#FBEFD9; --crit:#A8231A; --crit-bg:#FBE3E0;
  --display:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Source Sans 3",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ground:#0F1619; --surface:#172126; --ink:#E6ECE9; --muted:#97A6A3; --line:#2A373C;
  --accent:#4FC39A; --accent-soft:#16352B; --urna:#0A0F11;
  --ok:#5CCB93; --ok-bg:#153326; --warn:#E8B45A; --warn-bg:#3A2A10; --crit:#F08A80; --crit-bg:#3D1916;
}}
:root[data-theme="dark"]{
  --ground:#0F1619; --surface:#172126; --ink:#E6ECE9; --muted:#97A6A3; --line:#2A373C;
  --accent:#4FC39A; --accent-soft:#16352B; --urna:#0A0F11;
  --ok:#5CCB93; --ok-bg:#153326; --warn:#E8B45A; --warn-bg:#3A2A10; --crit:#F08A80; --crit-bg:#3D1916;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ground);color:var(--ink);font:16px/1.5 var(--body);
     padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%}
.wrap{max-width:560px;margin:0 auto;padding-inline:16px;padding-block:0 40px}
header.top{background:var(--urna);color:#E9EFEC;margin-inline:-16px;padding:18px 16px 20px}
.brand{display:inline-block;font:700 30px/1 var(--display);letter-spacing:.02em;color:#E9EFEC;text-decoration:none}
.brand span{color:#6FD3AC}
.brand small{font-size:16px;color:#AEBCB7;letter-spacing:.12em}
.sub{margin:6px 0 0;color:#AEBCB7;font-size:14px}
.proto{display:inline-block;margin-top:10px;font:500 11px var(--mono);letter-spacing:.06em;
       text-transform:uppercase;border:1px solid #4A5A60;border-radius:4px;padding:2px 6px;color:#C9D4D0}
.search{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--ground);padding-block:14px 10px}
.field{display:flex;align-items:center;gap:8px;background:var(--surface);border:2px solid var(--line);border-radius:10px;padding:0 12px}
.field:focus-within{border-color:var(--accent)}
.field input{flex:1;border:0;background:transparent;color:var(--ink);font:600 18px var(--body);padding:13px 0;min-width:0;outline:none}
.field svg{flex:none;color:var(--muted)}
/* o campo já tem o nosso botão de limpar; o nativo do Chrome duplicava o ✕ */
input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.limpar{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer;padding:6px}
.hint{font-size:13px;color:var(--muted);margin:6px 2px 0}
.chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:13px;color:var(--muted)}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 11px;font:600 13px var(--body);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.chip:focus-visible,.row:focus-visible,.back:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);
     border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink);font:inherit;cursor:pointer}
.row:hover{border-color:var(--accent)}
.av{flex:none;width:48px;height:64px;border-radius:6px;background:var(--accent-soft);color:var(--accent);
    display:grid;place-items:center;font:700 18px var(--display);overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover;display:block}
.rn{font-weight:700;line-height:1.2}
.rm{font-size:13px;color:var(--muted)}
.num{margin-left:auto;font:700 26px/1 var(--display);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font:700 12px var(--body);white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.p-ok{background:var(--ok-bg);color:var(--ok)} .p-warn{background:var(--warn-bg);color:var(--warn)} .p-crit{background:var(--crit-bg);color:var(--crit)}
.empty{color:var(--muted);text-align:center;padding:28px 8px}
.back{background:none;border:0;color:var(--accent);font:700 15px var(--body);padding:6px 0;cursor:pointer}
.hero{display:flex;gap:14px;align-items:flex-start;margin-top:6px}
.hero .av{width:84px;height:112px;font-size:28px}
.hero h2{font:700 30px/1.05 var(--display);margin:0;text-wrap:balance}
.civil{font-size:13px;color:var(--muted);margin-top:2px}
.urna{display:inline-flex;align-items:baseline;gap:8px;margin-top:8px;background:var(--urna);color:#fff;border-radius:6px;padding:4px 10px}
.urna b{font:700 30px/1 var(--display);letter-spacing:.14em}
.urna small{font-size:12px;color:#AEBCB7}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:16px}
.card h3{font:700 22px/1 var(--display);letter-spacing:.02em;margin:0 0 4px;text-transform:uppercase}
.meta{font-size:12px;color:var(--muted)}
.news{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.news li{border-top:1px solid var(--line);padding-block:10px}
.news a{color:var(--ink);font-weight:600;text-decoration:none}
.news a:hover{color:var(--accent);text-decoration:underline}
.src{font-size:12px;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}
.src a{color:var(--accent);font-weight:600}
.status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px;border-radius:10px;margin:10px 0 4px}
.status .lbl{font:600 12px var(--body);text-transform:uppercase;letter-spacing:.08em}
.status .val{font:700 24px/1 var(--display);letter-spacing:.02em}
.s-ok{background:var(--ok-bg);color:var(--ok)} .s-warn{background:var(--warn-bg);color:var(--warn)} .s-crit{background:var(--crit-bg);color:var(--crit)}
.sec{margin-top:14px}
.sec h4{font:600 12px var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px}
.item{border-left:3px solid var(--line);padding:4px 0 4px 10px;margin-bottom:10px}
.item.w{border-color:var(--warn)}
.item p{margin:2px 0;font-size:15px}
.item .t{font-weight:700;font-size:16px}
.mono{font:500 12.5px var(--mono);word-break:break-all}
.chk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.chk li{display:grid;grid-template-columns:22px 1fr;gap:6px;font-size:14px}
.chk .ic{font-weight:700}
.ic.y{color:var(--ok)} .ic.n{color:var(--muted)} .ic.x{color:var(--warn)}
.hist{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.hist td{padding:5px 4px;border-top:1px solid var(--line);vertical-align:top}
.hist td:first-child{font-weight:700;width:48px}
.note a{color:var(--accent);font-weight:600}
.note{font-size:13px;color:var(--muted);background:var(--ground);border-radius:8px;padding:10px 12px;margin-top:14px}
.foot{margin-top:28px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.foot h5{font:700 16px var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin:0 0 6px}
.foot a{color:var(--accent)}
.doc{max-width:640px}
.doc h1{font:700 32px/1.1 var(--display);margin:24px 0 8px}
.doc h2{font:700 22px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:24px 0 6px}
.doc p,.doc li{font-size:15px}
.doc table{width:100%;border-collapse:collapse;font-size:14px}
.doc td,.doc th{border-top:1px solid var(--line);padding:6px 4px;text-align:left;vertical-align:top}
@media (prefers-reduced-motion:no-preference){.view{animation:in .18s ease-out}@keyframes in{from{transform:translateY(4px)}to{transform:none}}}
