Когда ваши селекторы объединяются с пробелом - комбинатор потомков - это называется селектором потомков.Так что
document.querySelector("div.user-panel div.main input[name='login']")
ищет input[name='login']
внутри div.main
внутри div.user-panel
.
Так как в вашем html это просто один div с 2 классами, этот селектор не делаетничего не найти.
Однако, если ваш html выглядит так:
<div class="user-panel">
<div class="main">
<input type="text" name="login">
</div>
</div>
, это сработает.