:root{--bg:#f6f7f9;--surf:#fff;--ink:#1d2330;--ink3:#6b7280;--line:rgba(120,128,140,.28);--pri:#1f6feb;--ok:#1a7f37;--ruim:#c0392b;--alerta:#b7791f}
@media (prefers-color-scheme:dark){:root{--bg:#14171c;--surf:#1c2027;--ink:#e6e9ef;--ink3:#9aa3b2;--line:rgba(150,160,175,.25);--pri:#4c8dff;--ok:#3fb950;--ruim:#f0716a;--alerta:#e3b341}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
/* a barra NÃO é fixa: rola junto e nunca tapa a tabela */
header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 24px;background:var(--surf);border-bottom:1px solid var(--line)}
.marca{font-weight:700;font-size:1.1em}
.acoes{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
main{padding:20px 24px}
button{font:inherit;padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surf);color:inherit;cursor:pointer}
button:hover{border-color:var(--ink3)}
button.pri{background:var(--pri);border-color:var(--pri);color:#fff}
button.perigo{color:var(--ruim);border-color:var(--ruim)}
button.mini{padding:2px 8px;font-size:.85em;border-radius:6px}
button:disabled{opacity:.5;cursor:default}
.cartao{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:24px}
label{display:block;margin:12px 0;font-size:.92em;color:var(--ink3)}
label input,label textarea{display:block;width:100%;margin-top:4px;padding:9px 11px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:1.02em}
textarea{min-height:90px;resize:vertical}
h1{font-size:1.3em;margin:0 0 8px}
.fraco{color:var(--ink3)}
.msg{min-height:1.4em;color:var(--ruim);font-weight:600}
.resumo{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:6px;color:var(--ink3)}
.resumo b{color:var(--ink)}
table.nx-tab{width:100%;border-collapse:collapse;background:var(--surf)}
table.nx-tab th,table.nx-tab td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
#lista table.nx-tab tbody tr{cursor:pointer}
table.nx-tab tbody tr:hover{background:rgba(120,128,140,.08)}
td .pontos{letter-spacing:2px;color:var(--ink3)}
td .acao{margin-left:6px}
td.url{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saude-ok{color:var(--ok)}.saude-fraca{color:var(--alerta);font-weight:600}.saude-repetida{color:var(--ruim);font-weight:600}
.modal{border:0;padding:0;background:transparent;color:inherit;width:calc(100% - 48px);max-width:none;max-height:92vh;margin:4vh auto auto}
.modal::backdrop{background:rgba(0,0,0,.45)}
.modal .caixa{background:var(--surf);border-radius:14px;padding:22px;width:100%;border:1px solid var(--line)}
.linha{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.linha label{flex:1;min-width:220px}
.linha button{margin-bottom:14px}
.botoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}
.botoes .dir{margin-left:auto}
.aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:10px;z-index:99;font-weight:600}
.aviso[hidden]{display:none}
.nota-imp{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}
