:root{
  --bg:#0b1020;
  --panel:#0f1730;
  --panel2:#121c3a;
  --text:#e9eefc;
  --muted:#9fb0da;
  --border:#22305a;
  --btn:#3a63ff;
  --btn2:#22305a;
  --danger:#ff5d5d;
}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto; color:var(--text)}
.bg{background:linear-gradient(180deg,var(--bg),#070a14)}
.container{max-width:1200px;margin:0 auto;padding:18px}
.topbar{position:sticky;top:0;background:rgba(11,16,32,.9);backdrop-filter: blur(10px); border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:12px 18px;z-index:10}
.brand{font-weight:800;letter-spacing:.2px}
.brand a{color:var(--text);text-decoration:none}
.muted{color:var(--muted);font-size:13px}
code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.08)}
.card{background:linear-gradient(180deg,var(--panel),var(--panel2)); border:1px solid var(--border); border-radius:14px; padding:14px}
.grid{display:grid; gap:12px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.grid-4{grid-template-columns:1fr}}
.kpi-label{color:var(--muted);font-size:12px}
.kpi{font-size:28px;font-weight:800;margin-top:4px}
input,textarea,select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2);color:var(--text);outline:none}
textarea{resize:vertical}
label{display:block;margin:10px 0 6px 0;color:var(--muted);font-size:12px}
.btn{display:inline-block;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:var(--btn);color:white;font-weight:700;cursor:pointer}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.18)}
.error{background:rgba(255,93,93,.12);border:1px solid rgba(255,93,93,.35);color:#ffd0d0;padding:10px;border-radius:10px;margin:10px 0}
.kanban{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:start}
@media(max-width:1200px){.kanban{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.kanban{grid-template-columns:1fr}}
.col{background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.10);border-radius:14px;overflow:hidden}
.col-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.col-body{padding:10px 10px 14px 10px;display:flex;flex-direction:column;gap:10px}
.pill{font-size:12px;color:var(--muted);border:1px solid rgba(255,255,255,.12);padding:2px 8px;border-radius:999px}
.task{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:10px}
.task-title a{color:var(--text);text-decoration:none;font-weight:700}
.task-meta{margin-top:6px;font-size:12px;color:var(--muted)}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text)}
.task-actions{margin-top:8px}
.comment{padding:10px 0;border-top:1px solid rgba(255,255,255,.08)}
.comment-meta{font-size:12px;color:var(--muted);margin-bottom:6px}
