:host {
  width: 500px; display: inline-block; vertical-align: top; --height: 30px; --padding: 10px; --font-size: 12px; --input-border-color: #d1d1d1; --input-border-color-focus: #5b9dd9; --input-box-shadow-focus: rgba(30, 140, 190, 0.8); --text-background: #f5f5f5; --text-color: #333; --z-index: 1000
}
.container {
  width: 100%; display: flex !important; align-items: center; position: relative; z-index: var(--z-index)
}
.container div.text {
  width: auto; height: calc(var(--height) - 2px); line-height: calc(var(--height) - 2px); position: relative; z-index: 200; padding: 0 var(--padding); font-size: var(--font-size); background: var(--text-background); color: var(--text-color)
}
.container div.text:empty {
  display: none
}
.container div.input {
  flex: 1
}
.container div.input input.value {
  width: 100%; height: var(--height); box-sizing: border-box; outline: none; background: transparent; padding: 0px var(--padding); font-size: var(--font-size); border: 0px; border-radius: 0px; position: relative; z-index: 200
}
.container div.box {
  display: block; width: 100%; height: 100%; background: #ffffff; box-sizing: border-box; border: var(--input-border-color) 1px solid; box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.08); position: absolute; top: 0px; left: 0px; z-index: 100; pointer-events: none; transition: all .3s ease
}
.container div.mask {
  width: 100%; height: 100%; background: #dddddd; opacity: .3; position: absolute; top: 0px; left: 0px; z-index: -100
}
.container.focus div.box {
  border-color: var(--input-border-color-focus); box-shadow: 0px 0px 2px var(--input-box-shadow-focus)
}
.container[position=left] {
  flex-flow: row
}
.container[position=left] div.text {
  margin-left: 1px; border-right: var(--input-border-color) 1px solid
}
.container[position=right] {
  flex-flow: row-reverse
}
.container[position=right] div.text {
  margin-right: 1px; border-left: var(--input-border-color) 1px solid
}
.container.disabled div.mask {
  z-index: 10000
}