/* TASKS */
.task-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start;}
@media(max-width:400px){
  .stats-grid{grid-template-columns:1fr!important;}
}
@media(max-width:750px){.task-layout{grid-template-columns:1fr;}}
.task-sidebar{display:flex;flex-direction:column;gap:8px;position:sticky;top:20px;}
.task-cat-btn{
  display:flex;align-items:center;gap:10px;padding:11px 14px;
  border-radius:10px;border:1px solid var(--border);background:var(--card);
  cursor:pointer;transition:all 0.15s;font-family:'Barlow';font-weight:700;font-size:13px;color:var(--text2);
  width:100%;text-align:left;
}
.task-cat-btn:hover{border-color:var(--border2);color:var(--bright);}
.task-cat-btn.active{background:rgba(0,229,255,0.06);border-color:rgba(0,229,255,0.25);color:var(--accent);}
.task-cat-btn .task-cat-icon{font-size:16px;width:22px;text-align:center;}
.task-cat-btn .task-cat-count{margin-left:auto;font-family:'IBM Plex Mono';font-size:10px;
  background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2px 8px;color:var(--muted);}
.task-cat-btn.active .task-cat-count{background:rgba(0,229,255,0.1);border-color:rgba(0,229,255,0.2);color:var(--accent);}
.task-main{display:flex;flex-direction:column;gap:12px;}
.task-add-bar{
  display:flex;gap:8px;padding:14px;background:var(--card);
  border:1px solid var(--border);border-radius:12px;align-items:center;flex-wrap:wrap;
}
.task-add-bar input,.task-add-bar select{
  font-family:'IBM Plex Mono';font-size:12px;background:var(--surface);
  border:1px solid var(--border);border-radius:7px;padding:8px 12px;color:var(--text);flex:1;min-width:140px;
}
.task-add-bar input:focus,.task-add-bar select:focus{outline:none;border-color:var(--accent);}
.task-item{
  display:flex;align-items:flex-start;gap:12px;padding:14px 16px;
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  transition:all 0.2s;animation:fadeUp 0.2s ease both;
}
.task-item:hover{border-color:var(--border2);}
.task-item.done{opacity:0.45;}
.task-item.done .task-title{text-decoration:line-through;color:var(--muted);}
.task-cb{
  width:20px;height:20px;border-radius:6px;border:2px solid var(--border2);
  background:transparent;cursor:pointer;flex-shrink:0;margin-top:1px;
  appearance:none;-webkit-appearance:none;transition:all 0.15s;position:relative;
}
.task-cb:checked{background:var(--green);border-color:var(--green);}
.task-cb:checked::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:11px;font-weight:900;color:#000;line-height:1;}
.task-body{flex:1;min-width:0;}
.task-title{font-family:'Barlow';font-weight:600;font-size:14px;color:var(--bright);line-height:1.4;margin-bottom:5px;}
.task-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.task-badge{
  font-family:'IBM Plex Mono';font-size:9px;letter-spacing:1px;padding:3px 8px;
  border-radius:20px;border:1px solid;
}
.task-badge.drop{background:rgba(0,229,255,0.08);border-color:rgba(0,229,255,0.25);color:var(--accent);}
.task-badge.relist{background:rgba(167,139,250,0.08);border-color:rgba(167,139,250,0.25);color:var(--purple);}
.task-badge.source{background:rgba(0,255,136,0.08);border-color:rgba(0,255,136,0.25);color:var(--green);}
.task-badge.general{background:rgba(255,209,102,0.08);border-color:rgba(255,209,102,0.25);color:var(--gold);}
.task-badge.high{background:rgba(255,60,95,0.08);border-color:rgba(255,60,95,0.25);color:var(--red);}
.task-badge.medium{background:rgba(255,209,102,0.08);border-color:rgba(255,209,102,0.2);color:var(--gold);}
.task-badge.low{background:rgba(100,100,120,0.1);border-color:rgba(100,100,120,0.2);color:var(--muted);}
.task-due{font-family:'IBM Plex Mono';font-size:10px;color:var(--muted);}
.task-due.overdue{color:var(--red);}
.task-due.soon{color:var(--gold);}
.task-del{background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;
  opacity:0;transition:opacity 0.15s;padding:2px 6px;border-radius:5px;flex-shrink:0;}
.task-item:hover .task-del{opacity:1;}
.task-del:hover{color:var(--red);background:rgba(255,60,95,0.08);}
.task-empty{text-align:center;padding:50px 20px;}
.tasks-done-divider{font-family:'IBM Plex Mono';font-size:9px;letter-spacing:2px;color:var(--muted);
  display:flex;align-items:center;gap:10px;margin:8px 0;}
.tasks-done-divider::before,.tasks-done-divider::after{content:'';flex:1;height:1px;background:var(--border);}
