*{box-sizing:border-box}
body{margin:0;font:14px/1.4 system-ui,sans-serif;background:#f4f5f7;color:#1d2330;padding:16px}
a{color:#2563eb;text-decoration:none}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
h1{font-size:20px;margin:0}h1 small{color:#888;font-weight:400;font-size:14px}
h2{font-size:15px;margin:20px 0 6px}
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
input,select,button{padding:8px 10px;border:1px solid #ccd;border-radius:6px;font:inherit}
.filtros input{flex:1;min-width:200px}
button{background:#2563eb;color:#fff;border:0;cursor:pointer}
.tabela{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0001}
table{width:100%;border-collapse:collapse}
th,td{padding:8px 10px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}
th{background:#fafafa;font-weight:600}
tr:hover td{background:#f0f5ff;cursor:pointer}
.exc{white-space:normal;color:#b91c1c;font-family:monospace;font-size:12px}
.mono{font-family:monospace}
.vazio{text-align:center;color:#888;padding:24px}
.pag{display:flex;gap:16px;justify-content:center;margin:14px}
.info{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;background:#fff;padding:14px;border-radius:8px;margin:0}
.info dt{color:#666}.info dd{margin:0;word-break:break-all}
pre{background:#11151c;color:#e6e6e6;padding:12px;border-radius:8px;overflow:auto;max-height:600px;font-size:12px}
details{margin-top:20px}summary{cursor:pointer;font-weight:600}
.login{display:grid;place-items:center;min-height:90vh}
.login form{background:#fff;padding:24px;border-radius:10px;display:grid;gap:10px;width:280px;box-shadow:0 2px 8px #0002}
.erro{color:#b91c1c;margin:0}
