.auth-panel .auth-field { display: grid; min-width: 0; gap: 9px; }
.auth-panel .auth-field > label { display: block; margin: 0; font-size: 13px; line-height: 1.4; }
.auth-input-wrap { position: relative; display: flex; min-width: 0; align-items: center; }
.auth-input-wrap > :is(svg,i) { position: absolute; left: 15px; width: 18px; height: 18px; color: #8b95a3; pointer-events: none; transition: color .15s; }
.auth-panel .auth-input-wrap > input { width: 100%; min-width: 0; height: 52px; padding: 0 15px 0 44px; border: 1px solid #dce2e9; border-radius: 10px; background: #fafbfc; color: #17232c; font-size: 15px; font-weight: 400; line-height: 1.4; }
.auth-panel .auth-input-wrap:has(.auth-password-toggle) > input { padding-right: 52px; }
.auth-panel .auth-input-wrap > input::placeholder { color: #929ba8; opacity: 1; }
.auth-panel .auth-input-wrap > input:hover { border-color: #b8c6d5; }
.auth-panel .auth-input-wrap > input:focus { border-color: var(--auth-blue); background: #fff; box-shadow: 0 0 0 4px rgba(22,135,232,.1); }
.auth-input-wrap:focus-within > :is(svg,i) { color: var(--auth-blue); }
.auth-panel .auth-input-wrap > input:user-invalid { border-color: #dc6262; background: #fffafa; }
.auth-panel .auth-input-wrap > input:user-invalid:focus { box-shadow: 0 0 0 4px rgba(220,38,38,.08); }
.auth-panel .auth-input-wrap > input:autofill { -webkit-text-fill-color: #17232c; }
.auth-password-toggle { position: absolute; right: 5px; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 0; border-radius: 7px; background: transparent; color: #788594; }
.auth-password-toggle:hover { background: #eef3f8; color: #17232c; }
.auth-password-toggle:focus-visible { outline: 2px solid var(--auth-blue); outline-offset: -2px; }
.auth-password-toggle > :is(svg,i) { width: 18px; height: 18px; }
.auth-password-toggle .auth-password-hide,
.auth-password-toggle[aria-pressed="true"] .auth-password-show { display: none; }
.auth-password-toggle[aria-pressed="true"] .auth-password-hide { display: block; }
.auth-panel .auth-field .auth-password-help { margin: 0; color: #7b8490; font-size: 12px; line-height: 1.5; }
.auth-panel #auth-error:empty { display: none; }
@media (max-width: 560px) {
  .auth-panel .auth-input-wrap > input { height: 50px; font-size: 16px; }
}
@media (min-width: 781px) and (max-height: 800px) {
  .auth-shell:has(.register-field:not([hidden])) .auth-input-wrap > input { height: 46px; min-height: 46px; }
}
