:root {
  --bg: #f6f7f9;
  --fg: #1c1f24;
  --muted: #6b7280;
  --card: #fff;
  --border: #e5e7eb;
  --accent: #1f5fff;
  --danger: #c1272d;
  --ok: #137333;
}
* { box-sizing: border-box; }
body {
  font-family: -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
  margin: 0; background: var(--bg); color: var(--fg);
}
header {
  display: flex; align-items: center; gap: 1rem;
  padding: .8rem 1.2rem; background: #fff; border-bottom: 1px solid var(--border);
}
header .brand { font-weight: 600; text-decoration: none; color: var(--fg); }
header nav { margin-left: auto; display: flex; gap: 1rem; align-items: center; }
header nav a { color: var(--accent); text-decoration: none; }
header .who { color: var(--muted); font-size: .9rem; }
main { max-width: 1000px; margin: 1.5rem auto; padding: 0 1rem; }
.card {
  background: var(--card); border: 1px solid var(--border); border-radius: 8px;
  padding: 1.2rem 1.4rem; margin-bottom: 1rem;
}
.card.narrow { max-width: 360px; margin-left: auto; margin-right: auto; }
h1 { margin-top: 0; }
form label { display: block; margin: .6rem 0; }
form input, form select {
  display: block; width: 100%; padding: .45rem .6rem;
  border: 1px solid var(--border); border-radius: 6px; font: inherit;
}
form.inline { display: inline-block; margin: 0; }
form.inline input { width: auto; display: inline-block; }
button {
  padding: .45rem .9rem; border-radius: 6px; border: 1px solid var(--accent);
  background: var(--accent); color: #fff; font: inherit; cursor: pointer;
}
button.danger { background: var(--danger); border-color: var(--danger); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .55rem .5rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
th { background: #fafbfc; font-weight: 600; font-size: .9rem; }
tr[data-row] { cursor: pointer; outline: none; }
tr[data-row].selected,
tr[data-row].selected td { background: #fff59d; }
.pw { font-family: ui-monospace, Menlo, monospace; padding: .15rem .35rem; background: #f1f3f5; border-radius: 4px; }
.pw-form input { padding: .25rem .4rem; }
.flashes { list-style: none; padding: 0; margin: 0 0 1rem; }
.flash { padding: .55rem .8rem; border-radius: 6px; margin-bottom: .4rem; }
.flash.ok    { background: #e6f4ea; color: var(--ok); }
.flash.error { background: #fce8e6; color: var(--danger); }
code { background: #f1f3f5; padding: .1rem .3rem; border-radius: 4px; }
