:root { --bg:#0e1116; --side:#12161c; --card:#171c23; --card2:#1d232c; --line:#29313b; --txt:#e7ebf0; --muted:#8e9aa7;
  --accent:#5aa7ff; --good:#46c38a; --warn:#e3b341; --bad:#ef6b6b; color-scheme:dark; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--txt); font:14px/1.5 -apple-system, "Segoe UI", system-ui, sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.layout { display:grid; grid-template-columns:220px 1fr; min-height:100vh; }
.side { background:var(--side); border-right:1px solid var(--line); padding:16px 12px; display:flex; flex-direction:column; gap:4px; }
.brand { display:flex; gap:10px; align-items:center; padding:4px 8px 16px; }
.brand .lg { width:32px; height:32px; border-radius:8px; background:var(--accent); color:#0b1a2b; display:grid; place-items:center; font-weight:800; }
.brand b { display:block; font-size:14px; } .brand span { font-size:11px; color:var(--muted); }
.nav a { display:flex; justify-content:space-between; align-items:center; padding:8px 10px; border-radius:8px; color:var(--txt); font-size:13.5px; }
.nav a:hover { background:var(--card); text-decoration:none; } .nav a.on { background:var(--card2); font-weight:600; }
.nav .ct { background:var(--bad); color:#fff; border-radius:999px; font-size:11px; padding:1px 7px; font-weight:700; }
.nav .sep { font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); padding:14px 10px 4px; }
.main { padding:22px 26px 60px; min-width:0; }
h1 { font-size:20px; margin:0 0 4px; } .sub { color:var(--muted); margin:0 0 18px; font-size:13px; }
h2 { font-size:15px; margin:22px 0 10px; }
.flash { background:var(--card2); border:1px solid var(--line); border-left:3px solid var(--accent); padding:9px 12px; border-radius:8px; margin-bottom:14px; }
.grid { display:grid; gap:12px; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px; min-width:0; }
.card.off { opacity:.55; }
.pilar { margin-bottom:8px; }
.pilar h2 { display:flex; gap:8px; align-items:baseline; } .pilar h2 small { color:var(--muted); font-weight:400; font-size:12px; }
.ag-h { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.ag-h b { font-size:15px; }
.chip { font-size:11px; border-radius:999px; padding:2px 8px; border:1px solid var(--line); color:var(--muted); white-space:nowrap; }
.chip.ok { color:var(--good); border-color:color-mix(in srgb, var(--good) 40%, var(--line)); }
.chip.erro { color:var(--bad); border-color:color-mix(in srgb, var(--bad) 40%, var(--line)); }
.chip.warn { color:var(--warn); border-color:color-mix(in srgb, var(--warn) 40%, var(--line)); }
.missao { color:var(--muted); font-size:12.5px; margin:6px 0 10px; }
.kv { display:grid; grid-template-columns:1fr auto; gap:3px 10px; font-size:12.5px; }
.kv span:nth-child(odd) { color:var(--muted); } .kv span:nth-child(even) { text-align:right; font-variant-numeric:tabular-nums; }
.acts { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
button, .btn { font:inherit; font-size:12.5px; font-weight:600; border-radius:8px; padding:6px 11px; cursor:pointer;
  border:1px solid var(--line); background:var(--card2); color:var(--txt); }
button:hover { border-color:var(--accent); } button.pri { background:var(--accent); border-color:var(--accent); color:#0b1a2b; }
button.ok { color:var(--good); } button.no { color:var(--bad); }
form.inl { display:inline; }
.prop { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px; display:grid; gap:8px; }
.prop.urg { border-left:3px solid var(--bad); }
.prop .meta { display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:12px; color:var(--muted); }
.prop .tit { font-weight:700; font-size:14.5px; }
.prop .corpo { white-space:pre-line; font-size:13px; color:#cfd6de; }
.prop .corpo code { background:var(--card2); padding:1px 5px; border-radius:4px; font-size:12px; word-break:break-all; }
.prop textarea, input[type=text], input[type=date], input[type=number], select { font:inherit; font-size:13px; color:var(--txt);
  background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:7px 9px; width:100%; }
.lista { display:grid; gap:10px; }
.vazio { color:var(--muted); padding:30px; text-align:center; border:1px dashed var(--line); border-radius:12px; }
table { border-collapse:collapse; width:100%; font-size:13px; }
th, td { border-bottom:1px solid var(--line); padding:7px 8px; text-align:left; vertical-align:top; }
th { color:var(--muted); font-weight:600; font-size:12px; }
td.n { text-align:right; font-variant-numeric:tabular-nums; }
.tw { overflow-x:auto; }
.rg { display:grid; grid-template-columns:1fr 160px; gap:8px 14px; align-items:center; }
.rg label b { font-weight:600; font-size:13px; } .rg label small { display:block; color:var(--muted); font-size:11.5px; }
.big { font-size:26px; font-weight:700; }
.filtros { display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; } .filtros select { width:auto; }
.login { max-width:340px; margin:12vh auto; display:grid; gap:10px; }
@media (max-width:760px) { .layout { grid-template-columns:1fr; } .side { flex-direction:row; flex-wrap:wrap; } .nav .sep { display:none; }
  .main { padding:16px; } .rg { grid-template-columns:1fr; } }
