:root{
  color-scheme:light;
  --navy:#1C2632; --blue:#2C3B4E; --terra:#9F5234; --yellow:#FEC761; --beige:#CCC1A9; --warm:#FFFCF4;
  --paper:#F5F3EE; --surface:#FFFFFF; --ink:#1a1a18; --ink-2:#5c5b57; --ink-3:#6f6d66; --heading:var(--navy);
  --rule:#E4E0D6; --accent:var(--terra); --accent-soft:#F4E7E0; --bar:var(--navy); --bar-muted:var(--beige);
  --good:#2E7D4F; --good-bg:#E3F1E8; --warn:#8A5A00; --warn-bg:#FDF0D3; --crit:var(--terra); --crit-bg:#F4E7E0;
  --display:"DM Sans",system-ui,sans-serif; --body:"DM Sans",system-ui,sans-serif; --mono:"DM Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){
  :root{
    color-scheme:dark;
    --paper:#141C25; --surface:var(--blue); --ink:var(--warm); --ink-2:var(--beige); --ink-3:#B3AA97; --heading:var(--warm);
    --rule:rgba(255,255,255,.12); --accent:var(--yellow); --accent-soft:rgba(254,199,97,.14); --bar:var(--yellow); --bar-muted:rgba(204,193,169,.45);
    --good:#7DCB9C; --good-bg:rgba(46,125,79,.28); --warn:var(--yellow); --warn-bg:rgba(254,199,97,.16); --crit:#E59A7A; --crit-bg:rgba(159,82,52,.3);
  }
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55;padding-inline:20px;padding-block:24px 56px}
a{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:36px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;color:var(--heading)}
h1{font-size:clamp(26px,4vw,36px);font-weight:800;line-height:1.1}
h2{font-size:21px;font-weight:700}
h3{font-size:15px;font-weight:700}
p{margin:0;max-width:70ch}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
header{display:flex;flex-direction:column;gap:10px;border-bottom:4px solid var(--yellow);padding-bottom:18px}
.toprow{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}
.meta{display:flex;flex-wrap:wrap;gap:6px 20px;color:var(--ink-2);font-size:13px}
section{display:flex;flex-direction:column;gap:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.kpi{background:var(--surface);padding:15px 16px 13px;display:flex;flex-direction:column;gap:4px}
.kpi .v{font-family:var(--display);font-size:25px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}
.kpi .l{font-size:12.5px;color:var(--ink-2)}
.kpi .s{font-size:12px;color:var(--ink-3);font-family:var(--mono)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.panel{background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--terra);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.note{font-size:12.5px;color:var(--ink-3)}
.pill{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:3px;white-space:nowrap;font-weight:500;display:inline-block}
.pill.crit{background:var(--crit-bg);color:var(--crit)}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.good{background:var(--good-bg);color:var(--good)}
.pill.info{background:var(--accent-soft);color:var(--accent)}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-size:11.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:500}
td.r,th.r{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
tr.hi td{font-weight:600}
select{font:inherit;font-size:14px;padding:6px 10px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:4px}
select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.status{font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.status.erro{color:var(--crit)}
.usuario{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:13px;color:var(--ink-2)}
.usuario a,button.link{color:var(--accent);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
button{font:inherit;font-size:14px;font-weight:600;padding:8px 16px;border-radius:7px;border:1px solid var(--heading);background:var(--heading);color:var(--paper);cursor:pointer}
button.sec{background:transparent;color:var(--heading)}
button.perigo{background:transparent;border-color:var(--crit);color:var(--crit)}
button.peq{font-size:12.5px;padding:4px 10px;font-weight:500}
button:disabled{opacity:.5;cursor:default}
button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input[type=text],input[type=password],select{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--rule);border-radius:7px;background:var(--surface);color:var(--ink);width:100%}
.form{display:grid;gap:12px}
.form label{display:grid;gap:4px;font-size:13px;color:var(--ink-2)}
.chk{display:flex;flex-wrap:wrap;gap:6px 16px}
.chk label{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--ink)}
.erro{color:var(--crit);font-size:13px;min-height:1em}
.ok{color:var(--good);font-size:13px}
.modal-fundo{position:fixed;inset:0;background:rgba(10,14,20,.55);display:grid;place-items:center;padding:16px;z-index:50}
.modal{background:var(--surface);border-radius:12px;padding:22px;width:min(440px,100%);display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.acoes{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.senha-mostrada{font-family:var(--mono);font-size:18px;background:var(--accent-soft);padding:10px 14px;border-radius:7px;user-select:all;word-break:break-all}
