  /* Per-workspace tasks panel (see workspace-thread.js's renderTasksPanel) — mirrors
     the pinned-messages panel: a collapsed toggle in the thread that expands
     into this workspace's own task list. Capped and independently scrollable —
     otherwise a workspace with several tasks expands this panel by however much
     content it holds, which can push the composer (input + Send) off the
     bottom of a short mobile viewport with no way to scroll back down to
     it (the page itself is overflow-x/y constrained to the viewport, see
     base.css). */
  #workspace-tasks-list { display: flex; flex-direction: column; gap: 8px; padding: 8px 0; max-height: 240px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .task-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 12px 14px;
    animation: list-row-in 0.25s ease both;
  }
  #workspace-tasks-list .task-row:nth-child(1) { animation-delay: 0ms; }
  #workspace-tasks-list .task-row:nth-child(2) { animation-delay: 25ms; }
  #workspace-tasks-list .task-row:nth-child(3) { animation-delay: 50ms; }
  #workspace-tasks-list .task-row:nth-child(n+4) { animation-delay: 75ms; }
  @media (prefers-reduced-motion: reduce) {
    .task-row { animation: none; }
  }
  .task-row.completed { opacity: 0.55; }
  .task-row .check {
    flex-shrink: 0;
    width: 18px; height: 18px;
    border-radius: 5px;
    border: 1.5px solid var(--border);
    margin-top: 1px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
    color: var(--green);
  }
  .task-row .check .icon-svg { color: var(--green); filter: none; }
  .task-row.completed .check { border-color: var(--green); background: rgba(62,207,142,0.15); }
  .task-row .body { flex: 1; min-width: 0; }
  .task-row .subject { font-size: 13.5px; font-weight: 600; }
  .task-row.completed .subject { text-decoration: line-through; }
  .task-row .desc { font-size: 12px; color: var(--text-dim); margin-top: 3px; }
  .task-row .meta-row { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
  .task-status-badge.pending { background: rgba(255,255,255,0.08); color: var(--text-dim); }
  .task-status-badge.in_progress { background: rgba(62,90,76,0.15); color: var(--accent); }
  .task-status-badge.completed { background: rgba(62,207,142,0.15); color: var(--green); }
  .task-row .del { color: var(--text-dim); font-size: 13px; cursor: pointer; flex-shrink: 0; padding: 2px 6px; border-radius: 5px; }
  .task-row .del:hover { color: var(--red); }

