
:root{color-scheme:light dark;--bg:#f6f7f9;--fg:#1d2330;--card:#fff;--mut:#6b7280;--bd:#e3e6eb;--ok:#15803d;--warn:#b45309;--fail:#b91c1c}
@media(prefers-color-scheme:dark){:root{--bg:#0f1218;--fg:#e6e8ec;--card:#171b23;--mut:#9aa3b2;--bd:#262c37}}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--bd);background:var(--card)}
header form{display:inline;margin-left:12px}.who{color:var(--mut)}main{max-width:1000px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:16px 20px;margin-bottom:16px}.narrow{max-width:380px;margin:60px auto}
h1{font-size:22px;margin:0 0 12px}h2{font-size:17px;margin:0 0 4px}label{display:block;margin:12px 0}
input{display:block;width:100%;padding:9px 10px;margin-top:4px;border:1px solid var(--bd);border-radius:6px;background:var(--bg);color:var(--fg);font-size:15px}
button{margin-top:8px;padding:9px 16px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:15px;cursor:pointer}
button.link{background:none;color:var(--mut);padding:0;margin:0;text-decoration:underline}
table{width:100%;border-collapse:collapse;margin-top:8px}td{padding:6px 8px;border-top:1px solid var(--bd);vertical-align:top}td:first-child{width:64px}
.badge{display:inline-block;min-width:46px;text-align:center;padding:1px 6px;border-radius:5px;font-size:12px;font-weight:600;color:#fff;background:var(--mut)}
.badge.OK{background:var(--ok)}.badge.WARN{background:var(--warn)}.badge.FAIL{background:var(--fail)}
.muted{color:var(--mut)}.small{font-size:13px}.err{color:var(--fail);font-weight:600}.qr{display:block;margin:12px auto;width:220px;height:220px;background:#fff;padding:8px;border-radius:8px}
code{word-break:break-all}