:root{
  --bg:#0f1115; --panel:#171a21; --panel2:#1e222b; --line:#2a2f3a;
  --txt:#e8eaed; --mut:#9aa0ab; --acc:#7c9cff;
  --done:#2ecc71; --doing:#f1c40f; --blocked:#5da9ff; --todo:#8a93a3;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.wrap{max-width:1200px;margin:0 auto;padding:0 18px}
header{background:linear-gradient(180deg,#181c25,#0f1115);border-bottom:1px solid var(--line);padding:18px 0 14px}
h1{margin:0;font-size:22px}
.sub{color:var(--mut);font-size:13px;margin-top:4px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#888;vertical-align:middle}
.dot.ok{background:var(--done)} .dot.bad{background:#e74c3c}
main{padding:18px 0 40px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:20px}
h2{margin:0 0 12px;font-size:16px}
#prio-list{margin:0;padding-left:22px}
#prio-list li{margin:6px 0}
#prio-list .badge{margin-left:6px}
.cat{margin-bottom:26px}
.cat h3{font-size:15px;margin:0 0 10px;color:var(--txt)}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.col{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;min-height:60px}
.col h4{margin:0 0 8px;font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between}
.col h4 .n{background:#000a;border-radius:10px;padding:0 7px;color:var(--mut)}
.task{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--todo);border-radius:8px;padding:8px 10px;margin-bottom:8px}
.task.done{border-left-color:var(--done);opacity:.72}
.task.doing{border-left-color:var(--doing)}
.task.blocked{border-left-color:var(--blocked)}
.task.todo{border-left-color:var(--todo)}
.task .t{font-size:13.5px;font-weight:600}
.task .note{font-size:12px;color:var(--mut);margin-top:4px}
.task .pr{font-size:11px;color:var(--acc);font-weight:700;margin-right:6px}
.badge{font-size:11px;padding:1px 7px;border-radius:10px;border:1px solid var(--line);color:var(--mut)}
@media(max-width:820px){.cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cols{grid-template-columns:1fr}}
