:root { --bg:#0f1115; --fg:#e6e6e6; --muted:#9aa0a6; --line:#2a2f37; --accent:#f3b13a;
  --tint-conflict:#4a2a0a; --tint-pending:#3d3410; --tint-new:#10304a; --tint-delta:#3a3a12;
  --tint-lost:#3f1a1a; --tint-unwanted:#2a2d33; --pos:#5fd38d; --neg:#ff7b7b; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:14px/1.4 system-ui, sans-serif; }
header.top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; padding:8px 16px; border-bottom:1px solid var(--line); }
header .brand { color:var(--accent); font-weight:700; text-decoration:none; }
header nav a, header nav button.link { color:var(--fg); margin-left:14px; text-decoration:none; background:none; border:0; cursor:pointer; font:inherit; }
form.inline { display:inline; }
main { padding: 12px 16px; }
.flash { background:#1d2a1d; border:1px solid #2f5f2f; padding:6px 12px; margin:8px 16px 0; }
.flash.error { background:#2a1d1d; border-color:var(--neg); }
.toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:10px; }
.tabs a { display:inline-block; padding:4px 10px; border:1px solid var(--line); border-bottom:0; margin-right:2px; color:var(--fg); text-decoration:none; }
.tabs a.active { background:#1b1f27; color:var(--accent); }
.headline { color:var(--muted); }
.headline b { color:var(--fg); }
table.board { border-collapse:collapse; width:100%; }
table.board th, table.board td { border-bottom:1px solid var(--line); padding:4px 6px; text-align:left; vertical-align:top; }
table.board th { user-select:none; white-space:nowrap; color:var(--muted); } table.board th[data-sort] { cursor:pointer; }
table.board th.sorted-asc::after { content:" ▲"; } table.board th.sorted-desc::after { content:" ▼"; }
.prio { background:#171a20; }
.tint-conflict { background:var(--tint-conflict); } .tint-pending { background:var(--tint-pending); }
.tint-new { background:var(--tint-new); } .tint-delta { background:var(--tint-delta); }
.tint-lost { background:var(--tint-lost); } .tint-unwanted { background:var(--tint-unwanted); }
.pos { color:var(--pos); } .neg { color:var(--neg); } .muted { color:var(--muted); }
.badge { display:inline-block; padding:0 5px; border-radius:3px; font-size:11px; font-weight:700; background:#2b6cb0; color:#fff; margin-left:4px; }
.icons a { margin-left:4px; text-decoration:none; font-size:12px; }
input.small { width:3em; background:#1b1f27; color:var(--fg); border:1px solid var(--line); padding:2px 4px; }
input.text, textarea, select { background:#1b1f27; color:var(--fg); border:1px solid var(--line); padding:4px 6px; font:inherit; }
button, a.button { background:#243047; color:var(--fg); border:1px solid var(--line); padding:3px 8px; cursor:pointer; font:inherit; }
a.button { display:inline-block; text-decoration:none; }
button.primary { background:#3b5bdb; }
input.todo { width:100%; min-width:14em; }
details summary { cursor:pointer; }
.legend span { display:inline-block; padding:1px 8px; margin-right:6px; border:1px solid var(--line); }
.error { color:var(--neg); }
