:root { --primary:#b3121a; --bg:#f5f5f5; --card:#fff; --line:#ddd; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, Arial, sans-serif; background:var(--bg); color:#222; }
.topbar { background:var(--primary); color:#fff; display:flex; justify-content:space-between;
  align-items:center; padding:.6rem 1rem; }
.topbar .brand { font-weight:700; } .topbar a { color:#fff; margin-left:1rem; text-decoration:none; }
.content { max-width:1000px; margin:1rem auto; padding:0 1rem; }
input, textarea { width:100%; padding:.5rem; margin:.3rem 0; border:1px solid var(--line); border-radius:6px; }
input[type=checkbox] { width:22px; height:22px; display:inline-block; vertical-align:middle; margin-right:.4rem; }
label { display:inline-flex; align-items:center; }
button { background:var(--primary); color:#fff; border:0; padding:.5rem 1rem; border-radius:6px; cursor:pointer; }
table.dt { width:100%; border-collapse:collapse; background:var(--card); }
table.dt th, table.dt td { border:1px solid var(--line); padding:.5rem; text-align:left; }
.cards, .board { display:flex; flex-wrap:wrap; gap:1rem; } .board { align-items:flex-start; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:.8rem; flex:1 1 260px; }
.rcol { flex:1 1 280px; } .hint { color:#666; font-size:.85rem; }
