:root {
  --bg: #0f1512;
  --panel: #171f1b;
  --card: #1c2620;
  --text: #f3f5f2;
  --muted: #8fb3a1;
  --accent: #34e27a;
  --warn: #e2b134;
  --danger: #e2544e;
  --border: #2a352e;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: 'IBM Plex Sans', system-ui, sans-serif; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:14px 20px; background:var(--panel); border-bottom:1px solid var(--border); }
.brand { font-family: 'Space Grotesk', sans-serif; font-weight:700; font-size:20px; }
.brand .dollar { color: var(--accent); }
.brand small { font-family: 'IBM Plex Sans', sans-serif; font-weight:400; color: var(--muted); font-size:12px; margin-left:8px; }
.who { display:flex; gap:10px; align-items:center; font-size:13px; color: var(--muted); }
.who select, .who input { background:var(--card); color:var(--text); border:1px solid var(--border); border-radius:6px; padding:5px 8px; }
.tabs { display:flex; gap:4px; padding:10px 20px 0; background:var(--panel); border-bottom:1px solid var(--border); flex-wrap:wrap; }
.tab { background:none; border:none; color: var(--muted); padding:10px 16px; cursor:pointer; font-size:14px; border-bottom:2px solid transparent; }
.tab.active { color: var(--text); border-bottom-color: var(--accent); }
main { max-width: 760px; margin: 0 auto; padding: 24px 20px 60px; }
.hidden { display:none; }
h2 { font-family: 'Space Grotesk', sans-serif; margin-top:0; }
h2 small { color: var(--muted); font-weight:400; font-size:13px; }
.card { background: var(--card); border:1px solid var(--border); border-radius:10px; padding:16px; margin-bottom:14px; }
.card h3 { margin:0 0 6px; font-family:'Space Grotesk', sans-serif; font-size:16px; }
.meta { color: var(--muted); font-size:12px; margin-bottom:8px; }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:11px; margin-right:6px; }
.badge.public_official, .badge.institution { background: rgba(52,226,122,.15); color: var(--accent); }
.badge.private_individual { background: rgba(226,177,52,.15); color: var(--warn); }
.badge.no_identifiable_person { background: rgba(143,179,161,.15); color: var(--muted); }
.badge.status-published { background: rgba(52,226,122,.15); color: var(--accent); }
.badge.status-limited { background: rgba(226,177,52,.15); color: var(--warn); }
.badge.status-removed, .badge.status-hidden_pending_review { background: rgba(226,84,78,.15); color: var(--danger); }
.badge.verified { background: rgba(52,226,122,.2); color: var(--accent); }
.badge.pending { background: rgba(226,177,52,.2); color: var(--warn); }
.badge.rejected { background: rgba(226,84,78,.2); color: var(--danger); }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
button { background: var(--accent); color:#0f1512; border:none; border-radius:6px; padding:7px 12px; font-weight:600; cursor:pointer; font-size:13px; }
button.secondary { background: var(--card); color: var(--text); border:1px solid var(--border); }
button.danger { background: var(--danger); color:#fff; }
form { display:flex; flex-direction:column; gap:12px; }
label { display:flex; flex-direction:column; gap:5px; font-size:13px; color: var(--muted); }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=url],
input:not([type]), textarea, select { background: var(--card); color: var(--text); border:1px solid var(--border); border-radius:6px; padding:8px; font-size:14px; }
fieldset { border:1px solid var(--border); border-radius:8px; padding:12px; }
fieldset label, label:has(> input[type=checkbox]) { flex-direction:row; align-items:center; gap:8px; color: var(--text); }
.warn { background: rgba(226,177,52,.1); border:1px solid rgba(226,177,52,.4); border-radius:8px; padding:12px; }
.hint { color: var(--muted); font-size:12px; }
.hint.mono, .mono { font-family:'IBM Plex Mono', monospace; font-size:11px; opacity:.8; }
.result { font-size:13px; }
.subject-response { border-left:3px solid var(--accent); padding-left:10px; margin-top:8px; font-size:13px; }
.filter-row { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.chip { background:var(--card); color:var(--muted); border:1px solid var(--border); border-radius:999px; padding:6px 14px; font-size:12px; font-weight:500; cursor:pointer; }
.chip.active { background:rgba(52,226,122,.15); color:var(--accent); border-color:var(--accent); }
.comments { margin:8px 0; }
.comment { font-size:12.5px; color:var(--text); padding:4px 0; border-top:1px solid var(--border); }
.comment-form { flex-direction:row; gap:8px; margin-top:8px; }
.comment-form input { flex:1; }
h3, h4 { font-family:'Space Grotesk', sans-serif; margin:18px 0 8px; }
