:root{
  --bg-0: #0b1220;
  --panel: rgba(255,255,255,0.04);
  --muted: #9fb0c9;
  --accent: #5eead4;
  --accent-2:#7c3aed;
  --glass: rgba(255,255,255,0.03);
  --radius:12px;
  --shadow: 0 8px 30px rgba(2,6,23,0.6);
  --danger: #ff6b6b;
  --success: #4ade80;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color-scheme: dark;
  color: #e6eef6;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0;background:
  radial-gradient(800px 400px at 10% 10%, rgba(124,58,237,0.06), transparent 8%),
  radial-gradient(900px 450px at 90% 90%, rgba(94,234,212,0.04), transparent 6%),
  var(--bg-0);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

.container{max-width:1200px;margin:36px auto;padding:18px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.brand{display:flex;gap:14px;align-items:center}
.logo{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-weight:700;color:#042028}
.subtitle{color:var(--muted);font-size:13px;margin:0}

.top-actions{display:flex;gap:8px;align-items:center}
.search{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit;min-width:300px}
.btn{padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);cursor:pointer;color:inherit}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#042028;border:none;font-weight:700}
.btn.small{padding:6px 8px;font-size:13px}
.btn.icon{background:transparent;border:none;padding:6px}
.btn.subtle{background:transparent;border:1px dashed rgba(255,255,255,0.04)}
.btn.danger{background:linear-gradient(90deg,#ff7b7b,#ff6b6b);border:none;color:#fff}

.workspace{display:grid;grid-template-columns:260px 1fr;gap:18px}
.sidebar{background:var(--panel);padding:12px;border-radius:var(--radius);border:1px solid rgba(255,255,255,0.03)}
.filters{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.filter{background:transparent;border:none;color:var(--muted);text-align:left;padding:8px;border-radius:8px;cursor:pointer}
.filter.active{background:linear-gradient(90deg, rgba(124,58,237,0.06), rgba(94,234,212,0.03));color:var(--accent-2);font-weight:600}

.tags-section{margin-top:12px}
.tags-list{display:flex;flex-wrap:wrap;gap:8px}
.tag{padding:6px 8px;border-radius:999px;background:rgba(255,255,255,0.03);font-size:13px;color:var(--muted);cursor:pointer}

.misc{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.compact{font-size:14px;color:var(--muted)}

.main{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:14px;border-radius:var(--radius);min-height:400px;border:1px solid rgba(255,255,255,0.03)}
.controls-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bulk{display:flex;gap:8px;align-items:center}
.sort{color:var(--muted)}

.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto}
.empty{padding:40px;text-align:center;color:var(--muted)}

.task{
  display:grid;
  grid-template-columns:44px 1fr 120px 80px;
  gap:12px;
  align-items:center;
  padding:12px;border-radius:10px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.02);
  transition:transform .12s ease,box-shadow .12s ease;
}
.task:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(2,6,23,0.6)}
.drag-handle{cursor:grab;display:grid;place-items:center}
.check{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;border:1px solid rgba(255,255,255,0.04);background:transparent}
.check input{display:none}
.check .dot{width:14px;height:14px;border-radius:4px;border:2px solid var(--muted)}
.check.checked .dot{background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none}

.title{font-weight:600;word-break:break-word}
.meta{font-size:12px;color:var(--muted);margin-top:6px}
.badge{display:inline-block;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,0.03);font-size:12px;color:var(--muted);margin-left:6px}

.actions{display:flex;gap:6px;justify-self:end}
.icon-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px}
.icon-btn:hover{color:var(--accent-2);transform:translateY(-2px)}

.priority-low{color:#9ae6b4}
.priority-medium{color:#f6e05e}
.priority-high{color:#ff7b7b}

.subtasks-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.subtask{display:flex;align-items:center;gap:8px;padding:6px;border-radius:8px;background:rgba(255,255,255,0.02)}
.subtask input[type="text"]{flex:1;background:transparent;border:none;color:inherit;outline:none}

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(2,6,23,0.6),rgba(2,6,23,0.9));z-index:60}
.modal[aria-hidden="false"]{display:flex}
.modal-card{width:720px;max-width:92%;background:var(--panel);padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,0.03)}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.modal-body label{display:block;margin:8px 0;color:var(--muted)}
.modal-body input, .modal-body textarea, .modal-body select{width:100%;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}
.row{display:flex;gap:10px}
.row > label{flex:1}

.modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}

@media (max-width:900px){
  .workspace{grid-template-columns:1fr}
  .sidebar{order:2}
  .main{order:1}
  .task{grid-template-columns:36px 1fr 100px 60px}
}
