.tv-control-input {
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    border: 1px solid #e0e3eb;
    border-radius: 2px;
    box-sizing: border-box;
    color: #434651;
    display: block;
    font-size: 13px;
    height: 34px;
    padding: 0 12px;
    transition: border-color .35s ease, background-color .35s ease;
    width: 100%
}

html.theme-dark .tv-control-input {
    background-color: #1e222d;
    border-color: #363a45;
    color: #d1d4dc
}

.tv-control-input::placeholder {
    color: #a3a6af;
    opacity: 1
}

html.theme-dark .tv-control-input::placeholder {
    color: #50535e
}

.tv-control-input:-webkit-autofill {
    -webkit-text-fill-color: #535353 !important;
    box-shadow: inset 0 0 0 1000px #fff !important
}

.tv-control-input--size_xsmall {
    height: 19px
}

.tv-control-input--size_small {
    height: 27px
}

.tv-control-input--size_large {
    font-size: 16px;
    height: 48px
}

.tv-control-input--connect {
    border-left: 0;
    border-radius: 0;
    border-right: 0
}

.tv-control-input--connect_left {
    border-bottom-left-radius: 0;
    border-left: none;
    border-top-left-radius: 0
}

.tv-control-input--connect_right {
    border-bottom-right-radius: 0;
    border-right: none;
    border-top-right-radius: 0
}

@media (any-hover:hover),
(min--moz-device-pixel-ratio:0) {
    .tv-control-input:hover {
        border-color: #c1c4cd;
        transition-duration: .06s
    }
    html.theme-dark .tv-control-input:hover {
        border-color: #50535e
    }
}

.tv-control-input:focus {
    border-color: #2962ff !important;
    transition-duration: .06s
}

.tv-control-input[readonly] {
    border-color: #dadde0;
    color: #8a8a8a
}

.tv-control-input[readonly]:focus {
    border-color: #e0e3eb !important
}

@media (any-hover:hover),
(min--moz-device-pixel-ratio:0) {
    .tv-control-input[readonly]:hover {
        border-color: #e0e3eb !important
    }
}

html.theme-dark .tv-control-input[readonly]:focus {
    border-color: #2a2e39 !important
}

@media (any-hover:hover),
(min--moz-device-pixel-ratio:0) {
    html.theme-dark .tv-control-input[readonly]:hover {
        border-color: #2a2e39 !important
    }
}

.tv-control-input--readonly_dark,
.tv-control-input--readonly_dark[readonly],
html.theme-dark .tv-control-input--readonly_dark,
html.theme-dark .tv-control-input--readonly_dark[readonly] {
    color: #50535e
}

.tv-control-input.i-disabled,
.tv-control-input[disabled] {
    border-color: #e0e3eb !important;
    color: #e0e3eb !important
}

html.theme-dark .tv-control-input.i-disabled,
html.theme-dark .tv-control-input[disabled] {
    border-color: #2a2e39 !important;
    color: #2a2e39 !important
}

.tv-control-input.i-disabled::placeholder,
.tv-control-input[disabled]::placeholder {
    color: #e0e3eb !important
}

html.theme-dark .tv-control-input.i-disabled::placeholder,
html.theme-dark .tv-control-input[disabled]::placeholder {
    color: #2a2e39 !important
}

@media (any-hover:hover),
(min--moz-device-pixel-ratio:0) {
    .tv-control-input.i-disabled:hover,
    .tv-control-input[disabled]:hover {
        border-color: #e0e3eb !important
    }
    html.theme-dark .tv-control-input.i-disabled:hover,
    html.theme-dark .tv-control-input[disabled]:hover {
        border-color: #2a2e39 !important
    }
}

.tv-control-input.i-error {
    border-color: #ff4a68 !important
}

@media (any-hover:hover),
(min--moz-device-pixel-ratio:0) {
    .tv-control-input.i-error:hover {
        border-color: #f24965 !important
    }
}

.tv-control-input.i-error:focus {
    border-color: #ff173e !important
}

.tv-control-input.i-success {
    border-color: #089981 !important
}

html.theme-dark .tv-control-input.i-success {
    border-color: #056656 !important
}

@media (any-hover:hover),
(min--moz-device-pixel-ratio:0) {
    .tv-control-input.i-success:hover,
    html.theme-dark .tv-control-input.i-success:hover {
        border-color: #06806b !important
    }
}

.tv-control-input.i-success:active,
.tv-control-input.i-success:focus {
    border-color: #056656 !important
}

html.theme-dark .tv-control-input.i-success:active,
html.theme-dark .tv-control-input.i-success:focus {
    border-color: #089981 !important
}

.tv-control-input--phone {
    direction: ltr;
    text-align: left
}

.tv-control-input--file {
    display: none
}