/* Explorer tree rows and the check circle / square. */
/* ───────── Tree ───────── */
.tree{flex:1;overflow:auto;padding:2px 0 16px;outline:none;position:relative}
.row{position:relative;display:flex;align-items:center;gap:4px;height:26px;padding:0 8px 0 calc(6px + var(--d,0)*14px);cursor:pointer;white-space:nowrap;user-select:none}
.row:hover{background:var(--hover)}
.row.sel{background:var(--sel-off)}
.tree:focus-within .row.sel{background:var(--sel)}
.tree:focus-visible .row.sel{outline:1px solid var(--accent);outline-offset:-1px}
.row .caret{width:16px;height:16px;display:grid;place-items:center;color:var(--faint);flex:none;border-radius:var(--r1)}
.row .caret:hover{color:var(--text);background:var(--hover)}
.row .caret .ic{width:12px;height:12px;transition:transform .12s}
.row[aria-expanded="true"] > .caret .ic{transform:rotate(90deg)}
.row .gl{color:var(--faint);display:grid;place-items:center;flex:none}
.row.sel .gl{color:var(--text)}
.row .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.row .meta{flex:none;font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}
.row.sel .meta{color:var(--muted)}
.row .ovd{flex:none;width:6px;height:6px;border-radius:50%;background:var(--danger)}
.row .ovd.today{background:var(--warn)}
.row.done .lbl{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--line)}
.row.group{margin-top:6px;height:24px}
.row.group .lbl{font-size:11px;font-weight:600;letter-spacing:var(--caps);text-transform:uppercase;color:var(--muted)}
.row .ract{opacity:0}
.row:hover .ract,.row.sel .ract,.tree:focus-within .row.sel .ract{opacity:1}
@media (pointer:coarse){.row .ract{opacity:1}}
.row::before{content:"";position:absolute;left:14px;top:0;bottom:0;width:calc(var(--d,0)*14px);background:repeating-linear-gradient(90deg,var(--guide) 0 1px,transparent 1px 14px);opacity:0;transition:opacity .15s;pointer-events:none}
.tree:hover .row::before{opacity:1}
.row.dropok{background:var(--accent-soft);outline:1px dashed var(--accent);outline-offset:-1px}
.empty-note{padding:14px;color:var(--faint);font-size:12px;line-height:1.5}

/* check circle / square */
.chk{position:relative;width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%}
.chk i{width:14px;height:14px;border:1.5px solid var(--faint);border-radius:50%;display:grid;place-items:center;color:transparent;transition:background .1s,border-color .1s}
.chk.sq i{border-radius:3px}
.chk i .ic{width:10px;height:10px;stroke-width:2.6}
.chk.p-critical i{border-color:var(--crit)} .chk.p-high i{border-color:var(--high)}
.chk:hover i{border-color:var(--text)}
.chk[aria-checked="true"] i{background:var(--ok);border-color:var(--ok);color:var(--ok-ink)}
