.custom-input {
    position: relative;
    width: 100%;
}

.input-field {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 14px 16px;
    height: 48px;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    transition: all 0.2s ease;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.input-addon-left {
    .input-field {
        padding-left: 50px;
    }
}
.input-addon {
    position: absolute;
    left: 16px;
    top: 11px;
}

.input-field::placeholder {
    color: #000;
    font-size: 14px;
    font-weight: 400;
}

.input-field:hover {
    border-color: #9e62fe;
}

.input-field:focus {
    border-color: #9e62fe;
    box-shadow: 0 0 0 2px rgba(158, 98, 254, 0.1);
}

.input-field:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    /*cursor: url('/public/cursors/pointer.cur'), auto;*/
    background-color: #f5f5f5;
}

.input-field:disabled:hover {
    border-color: #e0e0e0;
}

.input-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #9e62fe;
    width: 16px;
    height: 16px;
}

.custom-input.has-icon .input-field {
    padding-right: 44px;
}

.input-error {
    color: #e53e3e;
    font-size: 12px;
    margin-top: 4px;
    display: none;
}

.custom-input.error .input-field {
    border-color: #e53e3e;
}

.custom-input.error .input-field:focus {
    border-color: #e53e3e;
    box-shadow: 0 0 0 2px rgba(229, 62, 62, 0.1);
}

.custom-input.error .input-error {
    display: block;
}

.custom-input.success .input-field {
    border-color: #38a169;
}

.custom-input.success .input-field:focus {
    border-color: #38a169;
    box-shadow: 0 0 0 2px rgba(56, 161, 105, 0.1);
}
