:root{--bg:#fafaf9;--fg:#1c1c1a;--mut:#6b6a66;--line:#e2e1dc;--alt:#f2f1ec;--acc:#2f5d8a;--ok:#2e7d4f;--warn:#a26b00;--bad:#b23b2e;--inp:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#18181a;--fg:#e4e3df;--mut:#9a9893;--line:#2e2e31;--alt:#212124;--acc:#7fb0e0;--ok:#6cc08f;--warn:#e0b050;--bad:#e7826f;--inp:#202023}}
*{box-sizing:border-box}
html{font:13px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
body{margin:0}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
header{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:5px 10px;border-bottom:1px solid var(--line);background:var(--alt)}
header b{margin-right:6px}
header nav{display:flex;flex-wrap:wrap;gap:2px 10px}
header nav a.on{font-weight:600;color:var(--fg)}
header form{margin-left:auto}
main{padding:8px 10px;max-width:1600px}
h1{font-size:15px;margin:2px 0 8px}h2{font-size:13px;margin:14px 0 4px;text-transform:uppercase;letter-spacing:.03em;color:var(--mut)}
table{border-collapse:collapse;width:100%;margin:2px 0 8px}
th,td{padding:2px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-weight:600;color:var(--mut);white-space:nowrap}
tr:hover td{background:var(--alt)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
td.long{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
input,select,textarea,button{font:inherit;color:inherit;background:var(--inp);border:1px solid var(--line);border-radius:3px;padding:2px 5px}
textarea{width:100%;min-height:60px}
button,.btn{cursor:pointer;background:var(--alt);border:1px solid var(--line);border-radius:3px;padding:2px 8px;color:var(--fg);display:inline-block}
button.pri{background:var(--acc);color:#fff;border-color:var(--acc)}
button.bad{color:var(--bad)}
form.inl{display:inline}
.f{display:grid;grid-template-columns:170px minmax(0,1fr);gap:3px 10px;align-items:start;max-width:900px}
.f label{color:var(--mut);padding-top:3px}
.f label small{display:block;font-size:11px}
.f input[type=text],.f input[type=number],.f select{width:100%;max-width:520px}
.filters{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:0 0 6px}
.filters input{width:120px}
.mut{color:var(--mut)}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}
.msg{padding:4px 8px;margin:0 0 8px;border-left:3px solid var(--ok);background:var(--alt)}
.msg.err{border-color:var(--bad)}
.key{font-family:ui-monospace,Menlo,Consolas,monospace;padding:4px 6px;background:var(--alt);border:1px dashed var(--line);display:inline-block;user-select:all}
.bar{display:inline-block;width:80px;height:6px;background:var(--line);border-radius:3px;vertical-align:middle;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ok)}
.tag{display:inline-block;padding:0 4px;border-radius:3px;background:var(--alt);border:1px solid var(--line);font-size:11px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:4px 20px}
.pager{margin:4px 0;display:flex;gap:8px;align-items:center}
pre{white-space:pre-wrap;font:12px/1.35 ui-monospace,Menlo,Consolas,monospace;margin:0}
.login{max-width:300px;margin:60px auto}
.login input{width:100%;margin-bottom:6px}
@media (max-width:700px){.f{grid-template-columns:1fr}.f label{padding-top:6px}}
