:root {
    --fg: #1a1a1a; --bg: #fafafa; --muted: #666; --border: #ddd; --accent: #1565c0; --error: #c62828;
    color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
    :root { --fg: #eee; --bg: #121212; --muted: #aaa; --border: #333; --accent: #82b1ff; --error: #ef9a9a; }
}
body { font-family: system-ui, sans-serif; color: var(--fg); background: var(--bg); margin: 0; }
header { padding: 16px 24px; border-bottom: 1px solid var(--border); display:flex; align-items:baseline; gap: 24px; }
header h1 { margin: 0; font-size: 20px; }
nav { display:flex; gap: 12px; align-items: center; }
nav a { color: var(--accent); text-decoration: none; }
nav a:hover { text-decoration: underline; }
nav .user { color: var(--muted); margin-left:auto; }
nav button.link { background: none; border: 0; color: var(--accent); cursor: pointer; padding: 0; font: inherit; }
main { padding: 24px; max-width: 1200px; margin: 0 auto; }
form label { display:block; margin: 8px 0; }
form input { display:block; padding: 6px; margin-top: 2px; width: 320px; max-width: 100%; }
button { background: var(--accent); color:#fff; border: 0; padding: 6px 14px; cursor: pointer; border-radius: 3px; }
button:hover { opacity: 0.92; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--border); vertical-align: top; }
th { background: rgba(0,0,0,.04); }
code.hex { font-family: ui-monospace, monospace; font-size: 11px; word-break: break-all; }
pre { background: rgba(0,0,0,.06); padding: 8px; border-radius: 3px; overflow-x: auto; font-size: 12px; }
.muted { color: var(--muted); font-size: 12px; }
.error { color: var(--error); }
.notice { background: rgba(21,101,192,.08); padding: 8px 12px; border-radius: 3px; }
details summary { cursor: pointer; }
img.qr { width: 110px; height: 110px; image-rendering: pixelated; background: #fff; padding: 4px; border-radius: 3px; }
tr.log-error td { background: rgba(229,57,53,.10); }
tr.log-warn td  { background: rgba(245,124,0,.10); }
