.site-tree-container { max-width: 700px; }

.site-tree-actions {
  display: flex; gap: var(--spacing-sm);
  margin-bottom: var(--spacing-lg);
}

.url-tree { padding: 0; }
.url-tree ul { padding-left: 24px; position: relative; }
.url-tree ul::before {
  content: ''; position: absolute; left: 11px; top: 0; bottom: 12px;
  width: 1px; background: var(--border);
}

.url-node { position: relative; padding: 2px 0; }
.url-node-row {
  display: flex; align-items: center; gap: var(--spacing-sm);
  padding: 6px 10px; border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  transition: all var(--transition-fast);
  cursor: pointer;
  border-bottom: 1px solid lightgrey;
}
.url-node-row:hover { background: var(--bg-surface-hover); box-shadow: var(--shadow-inset); }
.url-node-row.selected { background: var(--accent); color: var(--text-on-accent); }

.url-node-toggle { width: 16px; text-align: center; color: var(--text-muted); flex-shrink: 0; font-size: 12px; }
.url-node-icon { flex-shrink: 0; }
.url-node-name { font-weight: 500; min-width: 120px; }
.url-node-slug { font-size: var(--fs-xs); color: var(--text-muted); font-family: var(--font-mono); }
.url-node-pageset {
  font-size: var(--fs-xs); color: var(--text-on-accent);
  background: var(--accent); padding: 1px 8px;
  border-radius: 999px; margin-left: auto;
}

.url-node-actions {
  display: flex; gap: 2px; margin-left: var(--spacing-sm);
  opacity: 0; transition: opacity var(--transition-fast);
}
.url-node-row:hover .url-node-actions { opacity: 1; }

.url-node-status-hidden { opacity: 0.5; }
.url-node-status-redirect .url-node-name { color: var(--text-muted); text-decoration: line-through; }
.url-node-status-redirect .url-node-row { opacity: 0.7; }
