:root {
  --ink: #1a1a1a;
  --muted: #6b6b6b;
  --flag: #8a6d00;
  --border: #d8d8d8;
  --bg: #fafaf8;
}
* { box-sizing: border-box; }
body { font-family: Georgia, 'Times New Roman', serif; color: var(--ink); background: var(--bg); margin: 0; }
nav { display: flex; gap: 1.5rem; padding: 1rem 2rem; border-bottom: 1px solid var(--border); align-items: center; }
nav a { color: var(--ink); text-decoration: none; font-size: 0.95rem; }
nav a.active { font-weight: bold; border-bottom: 2px solid var(--ink); }
nav a.button { margin-left: auto; border: 1px solid var(--ink); padding: 0.3rem 0.8rem; border-radius: 2px; }
main { padding: 2rem; max-width: 1100px; margin: 0 auto; }
h1 { font-size: 1.4rem; font-weight: normal; border-bottom: 1px solid var(--border); padding-bottom: 0.5rem; }
table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
th, td { text-align: left; padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--border); font-size: 0.9rem; }
th { font-weight: 600; color: var(--muted); font-size: 0.8rem; text-transform: uppercase; }
.flag-missing { color: var(--flag); font-style: italic; }
#last-updated { color: var(--muted); font-size: 0.8rem; margin-top: 1rem; }
form .field { margin-bottom: 1rem; }
form label { display: block; font-size: 0.85rem; color: var(--muted); margin-bottom: 0.25rem; }
form input, form select, form textarea { width: 100%; padding: 0.4rem; border: 1px solid var(--border); font-family: inherit; font-size: 0.95rem; }
.rel-row { display: flex; gap: 0.5rem; align-items: center; margin-bottom: 0.5rem; }
.status-success { color: #2b5e2b; }
.status-error { color: #7a1f1f; }
#lock-banner { padding: 0.75rem 1rem; border: 1px solid #7a1f1f; margin-bottom: 1rem; }
.rollup { display: flex; gap: 2rem; margin: 1rem 0; font-size: 0.85rem; color: var(--muted); }
.rollup ul { list-style: none; padding: 0; margin: 0.25rem 0 0; }
