:root{--bg:#f6f6f4;--card:#fff;--tx:#1f1f1d;--mut:#6b6b66;--bd:#dcdcd6;--ac:#185fa5;--acbg:#e6f1fb;--ok:#27500a;--okbg:#eaf3de;--er:#a32d2d;--erbg:#fcebeb;--wn:#854f0b;--wnbg:#faeeda}
@media (prefers-color-scheme:dark){:root{--bg:#1a1a18;--card:#242422;--tx:#ececE8;--mut:#a3a39c;--bd:#3b3b37;--ac:#85b7eb;--acbg:#0c447c;--ok:#c0dd97;--okbg:#27500a;--er:#f7c1c1;--erbg:#791f1f;--wn:#fac775;--wnbg:#633806}}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--tx)}
header{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--bd);flex-wrap:wrap}
header b{font-weight:600}
nav{display:flex;gap:4px;margin-left:12px}
nav button{border:0;background:none;color:var(--mut);padding:6px 12px;border-radius:6px;cursor:pointer;font:inherit}
nav button.on{background:var(--acbg);color:var(--ac)}
.sp{margin-left:auto;display:flex;gap:8px;align-items:center;color:var(--mut)}
main{max-width:1000px;margin:20px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;overflow:hidden}
.bar{display:flex;gap:8px;padding:12px;flex-wrap:wrap;align-items:center}
.bar input{flex:1;min-width:160px}
input,select,button{font:inherit;color:var(--tx);background:var(--card);border:1px solid var(--bd);border-radius:6px;padding:7px 10px}
button{cursor:pointer}
button:hover{border-color:var(--mut)}
button.pri{background:var(--ac);color:var(--card);border-color:var(--ac)}
button.link{border:0;background:none;padding:4px;color:var(--mut)}
button.danger{color:var(--er)}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-weight:500;color:var(--mut);font-size:12px;padding:8px 12px;border-bottom:1px solid var(--bd)}
td{padding:8px 12px;border-bottom:1px solid var(--bd)}
td.ac{text-align:right;white-space:nowrap}
.pill{font-size:11px;padding:2px 8px;border-radius:6px;display:inline-block}
.ativo,.ok{background:var(--okbg);color:var(--ok)}
.inativo,.off,.leitura{background:var(--bg);color:var(--mut);border:1px solid var(--bd)}
.admin{background:var(--acbg);color:var(--ac)}
.operador,.bloq{background:var(--wnbg);color:var(--wn)}
.foot{display:flex;gap:8px;align-items:center;padding:10px 12px;color:var(--mut);font-size:12px}
.login{max-width:320px;margin:12vh auto;padding:20px}
.login input{width:100%;margin:4px 0 12px}
label{font-size:12px;color:var(--mut);display:block}
.err{color:var(--er);font-size:12px;min-height:18px;margin:0 0 8px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.modal .card{width:100%;max-width:380px;padding:18px}
.modal input,.modal select{width:100%;margin:4px 0 12px}
.row2{display:flex;gap:8px}.row2 input{flex:1}.row2 button{margin:4px 0 12px}
.acts{display:flex;justify-content:flex-end;gap:8px}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--tx);color:var(--bg);padding:8px 14px;border-radius:8px}
.empty{padding:28px;text-align:center;color:var(--mut)}
