:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  margin: 0; padding: 1rem;
  background: #fafafa; color: #1a1a1a;
}
@media (prefers-color-scheme: dark) {
  body { background: #111; color: #eee; }
}
main { max-width: 720px; margin: 0 auto; }
h1 { font-size: 1.5rem; }
table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
th, td { padding: .5rem .6rem; border-bottom: 1px solid #ccc; text-align: left; font-size: .9rem; word-break: break-all; }
th { background: #eee; }
@media (prefers-color-scheme: dark) { th { background: #222; } th, td { border-color: #333; } }
button { cursor: pointer; padding: .35rem .8rem; }
input, select { padding: .35rem .5rem; font: inherit; }
form.inline { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1rem 0; align-items: center; }
.muted { color: #777; font-size: .85rem; }
.tag { display: inline-block; padding: .1rem .45rem; border-radius: 99px; font-size: .75rem; background: #ddd; }
.tag.active { background: #b7e4c7; }
.tag.disabled { background: #f6d9a0; }
.tag.deleting { background: #f3b2b2; }
.pwbox { background: #fffbe6; border: 1px solid #e6cf68; padding: .75rem 1rem; border-radius: 6px; margin: .5rem 0; word-break: break-all; }
@media (prefers-color-scheme: dark) { .pwbox { background: #2a2508; border-color: #6b5e14; } }
dialog { border: 1px solid #ccc; border-radius: 8px; padding: 1rem; max-width: 340px; }
canvas { image-rendering: pixelated; background: #fff; border: 1px solid #ccc; }
.btn-row { display: flex; gap: .4rem; flex-wrap: wrap; }
.err { color: #c0392b; }
