.fieldInput {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}
.fieldInput *, .fieldInput *::before, .fieldInput *::after {
  box-sizing: border-box;
}
.fieldInput__label {
  font-size: 13px;
  color: #4a4a55;
  line-height: 1;
}
.fieldInput__wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.fieldInput__wrap.is-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.fieldInput__control {
  width: 100%;
  padding: 12px 16px;
  font-size: 14px;
  color: #1a1a2e;
  background: #f2f3f5;
  border: 1px solid transparent;
  border-radius: 12px;
  outline: none;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.fieldInput__control::-moz-placeholder {
  color: #a0a4ab;
}
.fieldInput__control::placeholder {
  color: #a0a4ab;
}
.fieldInput__control:focus {
  background: #ffffff;
  border-color: #2f6bff;
  box-shadow: 0 0 0 3px rgba(47, 107, 255, 0.15);
}
.fieldInput__control.has-iconLeft {
  padding-left: 44px;
}
.fieldInput__control.has-iconRight {
  padding-right: 46px;
}
.fieldInput__iconLeft {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #4a4a55;
  font-size: 20px;
  pointer-events: none;
}
.fieldInput__toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #4a4a55;
}
.fieldInput__toggle .material-icons {
  font-size: 20px;
}
.fieldInput__toggle:hover {
  color: #1a1a2e;
}